サポート » プラグイン » The Events Calendarのカレンダー画面でカスタムフィールドの内容を反映させたい

  • プラグイン「The Events Calendar」で、カスタムフィールド(投稿オブジェクト)の値を月カレンダーページに表示させようとしています。

    パソコン用の表示については、カスタムフィールドの反映が出来ました。
    ですが、スマホ用の表示(mobile.php)では表示の仕方が違うようでうまくできていません。

    <script type="text/html" id="tribe_tmpl_month_mobile">
    
    	<div class="tribe-events-mobile tribe-clearfix tribe-events-mobile-event-[[=eventId]]>[[ if(categoryClasses.length) { ]] [[= categoryClasses]][[ } ]]">
    		<h4 class="summary">
    			<a class="url" href="[[=permalink]]" title="[[=title]]" rel="bookmark">[[=raw title]]</a></h4>
    
    		
    	</div>
    
    </script>

    とあったので、イベント記事のIDを引っ張ってくれば値が反映されるかなと思い、

    <script type="text/html" id="tribe_tmpl_month_mobile">
    
    <?php 
    $eventid ='[[=eventId]]';
    $ob = get_field('text1', $eventid );
    ?>
    
    	<div class="tribe-events-mobile tribe-clearfix tribe-events-mobile-event-[[=eventId]]>[[ if(categoryClasses.length) { ]] [[= categoryClasses]][[ } ]]">
    		<h4 class="summary">
    			<a class="url" href="http:xxx.jp/?p=<? echo $ob->ID; ?>" title="[[=title]]" rel="bookmark"><?php echo $ob->post_title; ?></a></h4>
    
    	</div>
    
    </script>

    としてみましたが、値は反映されませんでした。
    もし解決方法がお分かりの方がおられましたら、ご教授いただけますと幸いです。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • コード全体がそれで動くかどうかは分かりませんが、
    $ob = get_field(‘text1’, $eventid ); で必要な情報はとれているのでしょうか。
    var_dump($ob); などして意図した値が入っているか確認してみてはと思います。

    なお The Event Calendar は独自関数としてメタ情報を取得できるので (https://theeventscalendar.com/function/tribe_get_event_meta/)
    $ob = tribe_get_event_meta($eventid, ‘text1’);
    とかで値は引っ張ってこれないのですかねぇ。

    スレッド開始 gieumm

    (@gieumm)

    @kimipoohさま

    早速の返信ありがとうございます!

    試しにtribe_get_event_metaを使用してみた結果なのですが、
    奇数行が$obのvar_dumpで、偶数行がecho $eventid;です。

    string(2) "91"
    748
    string(2) "91"
    734
    string(2) "91"
    717

    echo $eventid;ではそれぞれのイベント記事のIDを拾ってきているはずなのに、
    「91」が最新のイベント記事内のカスタムフィールドに入っている値で、tribe_get_event_metaで$eventidが反映されていないのだろうなと思われます。
    get_fieldでも同様に最新のイベントの値がループする状態です。

    なるほど。

    $ob = getEventMeta($eventid, ‘text1’);

    ならどうですかねぇ。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「The Events Calendarのカレンダー画面でカスタムフィールドの内容を反映させたい」には新たに返信することはできません。