トップページの新着記事一覧から特定のカテゴリーを除外して表示させる場合

Simplicityの特徴 フォーラム Simplicityについての質問 トップページの新着記事一覧から特定のカテゴリーを除外して表示させる場合

  • このトピックには7件の返信、1人の参加者があり、最後にホワイトにより3年、 9ヶ月前に更新されました。
7件の返信スレッドを表示中
  • 投稿者
    投稿
    • #43925
      ホワイト
      ゲスト

      こんばんは。
      特定のカテゴリーを除外して表示させる場合を調べてみたのですが
      query_posts()を使って除外したいカテゴリーを指定するとわかったのですがどのファイルに記述したらよいのでしょうか?初心者で申し訳ないです。

    • #43932
      Hidekichi
      ゲスト

      query_posts()ではなくて、pre_get_postsで今時はやります。

      参考: プラグイン API/アクションフック一覧/pre get posts

      例えば上記ページの中に「メインページから特定のカテゴリーを除外」というのがありますが、これらを利用したり、あるいは応用して条件を追加したりすることで特定のカテゴリーを除外することができます。

      子テーマfunctions.phpに追記します。
      モバイルの場合は、親テーマに上記フックを利用されている箇所があり、場合によってはそれを解除する必要があります。

    • #43937
      ホワイト
      ゲスト

      ありがとうございます。
      早速やってみたのですが上手くいきません。
      $query->set( ‘cat’, ‘-48’ );の部分にカテゴリIDを入れるといいんですよね?
      ならないってことは何か他に問題があるということですか?

    • #43940
      Hidekichi
      ゲスト

      > $query->set( ‘cat’, ‘-48’ );の部分にカテゴリIDを入れるといいんですよね?

      通常はそうです。が、どのようなスクリプトで$query->set( 'cat', '-48' );を書かれたのか、また想定されているカテゴリーを除外するトップページの指定をどのように書かれたか等をここに貼り付けてみて下さい。

      また貼り付けたコードは範囲選択して、codeボタンでハイライト表示して下さい。

      wordpressでは、Query Monitorと言うプラグインがありまして、これを利用するとどのようなフックであったりデータが読み込まれているかを確認することができます。これらを一時的に利用して、指定したフックが動作しているか等を確認してみて下さい。

      またいつものことながら動作は正しく行われているけれどもサーバーが返すのがキャッシュであったりする場合も無きにしも非ずです。なのでキャッシュさせないようにして確認してみることもオススメします。

    • #43952
      ホワイト
      ゲスト

      丁寧にありがとうございます。
      貼りつけたコードは用例にあったそのままです。

      function exclude_category( $query ) {
          if ( $query->is_home() && $query->is_main_query() ) {
              $query->set( 'cat', '-1,-1347' );
          }
      }
      add_action( 'pre_get_posts', 'exclude_category' );

      です。これをそのまま子テーマのfunctions.phpに追記しました。

    • #43953
      ホワイト
      ゲスト

      教えていただいたこのページの用例「メインページから特定のカテゴリーを除外」です。

    • #44154
      hidekichi
      ゲスト

      そのコードで除外できませんでしたか?
      カテゴリのIDが間違っているとかはないですかね?

    • #44475
      ホワイト
      ゲスト

      大変失礼しました!
      確認不足でした。そして無事にできました。
      申し訳ありませんでした。

7件の返信スレッドを表示中
  • トピック「トップページの新着記事一覧から特定のカテゴリーを除外して表示させる場合」には新しい返信をつけることはできません。
スポンサーリンク
アドセンス(大)
アドセンス(大)