サポート » 使い方全般 » 特定のカテゴリーのみカレンダーに表示したい。

  • seijo31

    (@seijo31)


    特定のカテゴリーのみカレンダーに表示させることは
    get_calendar()では不可能でしょうか?

    サイドバーにカレンダーを表示したいのですが、
    ページによって表示するカテゴリーを変えたいので
    「specific calendar」「Event Calendar」
    上記2つのプラグインも検討してみましたが実現できそうにありません。

    どなたか実装方法をご存知の方がいらっしゃいましたら、
    ご教示お願いいたします。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • kz

    (@kz)

    functions.php に以下を追加:

    function my_query($query){
      global $wpdb;
      $query = preg_replace(
        '@WHERE@',
        "INNER JOIN $wpdb->term_relationships ON ($wpdb->posts.ID = $wpdb->term_relationships.object_id)
         INNER JOIN $wpdb->term_taxonomy ON ($wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id)
         WHERE ",
         $query
      );
    
      return $query . " AND $wpdb->term_taxonomy.taxonomy = 'category' AND $wpdb->term_taxonomy.term_id = 123";
    }

    ※123はお好みのカテゴリIDに変更してください。

    カレンダーを表示するところで

    add_filter('query', 'my_query');
    get_calendar();
    remove_filter('query', 'my_query');

    seijo31さまの投稿に失礼します。

    kzさま

    wordpress初心者のものです。
    こちらの投稿に辿りつき、
    上記のとおりコードを書き込み、特定のカテゴリのみの複数のカレンダーを
    表示させることができました。

    ただ、カレンダーの翌月「next」前月「prev」が表示されなくなってしまいました。

    ソースでは下記の様にスペースとなってしまいます。
    <td class=”pad” id=”prev” colspan=”3″> </td>
    <td class=”pad”> </td>
    <td class=”pad” id=”next” colspan=”3″> </td>

    表示する方法をご存知の方いらっしゃいましたら
    どうかお力をお貸し下さい。
    よろしくお願いします。

    WordPress でイベントカレンダー にそれらしき記述があります◎

    kzさま

    アドバイスありがとうございます!
    ぜひ参考にさせていただきます。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「特定のカテゴリーのみカレンダーに表示したい。」には新たに返信することはできません。