フォーラム

特定のカテゴリーのみカレンダーに表示したい。 (5 件の投稿)

  1. seijo31
    メンバー
    2 years前の投稿 #

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

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

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

  2. kz
    メンバー
    2 years前の投稿 #

    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');
  3. ymmt
    メンバー
    1 year前の投稿 #

    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>

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

  4. kz
    メンバー
    1 year前の投稿 #

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

  5. ymmt
    メンバー
    1 year前の投稿 #

    kzさま

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

返信

ログイン しなければ投稿できません。

About this Topic