• 解決済 makiko_sho

    (@makiko_sho)


    いつもテーマを作る際の参考にこちらでは大変お世話になっております。
    さて今回、どうしてもうまく行かない処理があり、相談させて頂きます。

    WordPress4.7.2をローカルのXAMP環境で動かしています。
    テーマは自作です。

    下記の通り、カスタム投稿をAdvanced Custom Filedsを利用し、作成、それをindexに表示しているのですが、閲覧している日よりも古い投稿は表示しないように、
    http://norando.net/wp-meta_compare/
    こちらのサイトを参考に、meta_value以下を追記しました。

    しかし、

    Parse error: syntax error, unexpected ”meta_value” (T_CONSTANT_ENCAPSED_STRING), expecting ‘)’ in C:*****\wp-content\themes\*****\index.php on line 68

    と言う形でエラーが出てしまいます。(フォルダ名などは伏字にしています。)

    日付のフィールドは、「デイトピッカー」で日付を選択出来るようにしています。
    多分、私が思うに「デイトピッカー」で日付情報を取得しているので、そのままmeta_keyに指定してはいけなかったのかな?とも思うのですが、色々検索してみるものの、それっぽい回答にあたる内容がありませんでした。
    もしかして、原因はほかにもあるかもしれません。

    ご教授ください。よろしくお願い致します。

    <?php
    global $post;
    $args = array(
    	'posts_per_page' => 4,
    	'post_type'=> 'member-ph'
    	
    	'meta_value' => date_i18n('Ymd'),
    	'meta_type' => 'DATE',
    	'meta_key' => 'duty-date',
    	'meta_compare' => '>=',
    
    	'orderby' => 'meta_value', //日付順でソート
    	'order' => 'ASC'
    );
    $myposts = get_posts( $args );
    foreach ( $myposts as $post ) : setup_postdata( $post );
    	//変数に格納
    	$day = get_field('duty-date',$post_ID);
    	$name = get_the_title($post_ID);
    	$tel = get_field('ph-telephone',$post_ID);
    	$add = get_field('ph-address',$post_ID);
    
    		if(get_field('duty-date')):
    			echo '<li>' .$day;
    			echo $name;
    			echo '電話番号:' .$tel;
    			echo '住所:<a href="https://maps.google.co.jp/maps/search/' .$add. '" target="_blank">';
    			echo $add.'</a></li>';
    		endif;
    endforeach;
    wp_reset_postdata();
    ?>
2件の返信を表示中 - 1 - 2件目 (全2件中)
  • こんにちは

    'post_type'=> 'member-ph'の後ろのカンマがないためです。

    トピック投稿者 makiko_sho

    (@makiko_sho)

    mumyagu様
    早急の返信ありがとうございます。
    お返事遅れて申し訳ありません。

    さきほど、カンマを足して正常に動作しました。

    何度も確認し、カンマ抜けにも注意していたつもりでしたが、慌てていた様であまりにも初歩過ぎるミスで恥ずかしい限りです。
    貴重なお時間で対応いただきましてありがとうございました。
    こちらのスレは解決済みと致します。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「「今日よりも古いカスタム投稿は表示しない」という処理」には新たに返信することはできません。