• Resolved kazukey

    (@kazukey)


    初めてご質問させていただきます。

    カレンダーにイベントを表示させたく探していたところ、こちらのプラグインに出会いました。
    シンプルかつ操作しやすいので、実装したいのですがひとつ分からない点があります。

    登録したイベントを検索機能(search.php)を利用して、一覧表示させたいと検討しております。
    single.phpの任意箇所に開催日を表示させる方法は、以下のページを参考にしました。
    参考ページ https://xakuro.com/blog/wordpress/1873/

    下記のように search.php に書いた場合は Fatal error となってしまいます。

    <?php if(have_posts()): while (have_posts()):the_post(); ?>
        <?php the_title(); ?>
        <?php echo $xo_event_calendar->get_event_date( $post->ID ) ?>
    <?php endwhile; else: ?>

    検索結果でエラーとならずイベント開催日を表示する方法をご教示いただけないでしょうか。

    利用バージョンです。
    Wordpress 5.9.3
    XO Event Calendar 2.3.7

    どうぞよろしくお願いいたします。

Viewing 2 replies - 1 through 2 (of 2 total)
  • Plugin Author ishitaka

    (@ishitaka)

    こんにちは

    下記のように search.php に書いた場合は Fatal error となってしまいます。

    提示コードで問題ないと思います。エラーメッセージをお知らせください。

    あと、念とのため下記のように条件を入れておいたほうがいいかと思います。
    <?php echo $xo_event_calendar->get_event_date( $post->ID ) ?>

    <?php
    if ( 'xo_event' === get_post_type() && isset( $xo_event_calendar ) ) {
    	echo $xo_event_calendar->get_event_date( $post->ID );
    }
    ?>
    Thread Starter kazukey

    (@kazukey)

    早速お返事ありがとうございました。

    記述しているコードで問題ないとご教示いただき、改めて書き方を試したところエラーが発生する原因が分かり開催日が表示されるようになりました。

    エラーの原因は、
    前述した search.php の他 taxonomy.php でも同じレイアウトを表示させるために、共通ファイル custom-listEvent.php ファイルを作成し get_template_part 使用してを読み込んでおりました。

    <?php get_template_part('custom-listEvent'); ?>

    同じコードを書いているのですが、get_template_part を使用した場合にエラーが起きていました。
    なぜ get_template_part を使用した際にエラーが起きたのか、私はプログラマーでないので全く分かりませんが、ご教示していただいたことをきっかけに解決できたことを大変感謝しております。

    ちなみにエラーメッセージは以下の様に出ていました。(本来のコードが原因でなかったので、エラー文の後半は省いています)
    サーバ名、ドメイン名、テーマ名は置き換えています。

    Fatal error: Uncaught Error: Call to a member function get_event_date() on null in /サーバ名/public_html/ドメイン名/wp-content/themes/テーマ名/custom-listEvent.php:34 Stack trace: #0

    サポート対応とプラグインに感謝して利用させていただきます。
    本当にありがとうございました。

Viewing 2 replies - 1 through 2 (of 2 total)
  • The topic ‘検索結果でイベント開催日を表示したい’ is closed to new replies.