wp プラグインの作成16 pre_get_postsを使う2 カテゴリ名から特定のカテゴリだけ非表示

2013/06/17

とりあえず「カテゴリ名から特定のカテゴリだけ非表示」をやってみる。

function filterTest( $wpQuery = '' ) {
  // 管理画面・メインクエリーでない場合は終了
  if ( is_admin() || ! $wpQuery->is_main_query() ){
    return;
  }
  $catObj = get_category_by_slug('xxx');
  $wpQuery->set( 'category__not_in', array($catObj->term_id) );
}
add_action('pre_get_posts', 'filterTest');

雑記

「特定のカテゴリを非表示」ってのが「category__not_in」。必要になるのは「カテゴリID」

カテゴリIDを調べるのが「get_category_by_slug()」ってヤツ。

これで完成っていいたいけど、目的はプラグインにしたいしカテゴリを最初に決めるってのがイヤなので、まだ続く。
次回は、テンプレートに「適当なタグを追加・引数に除外したいカテゴリ名」を記載。それを受け取って「カテゴリ名から特定のカテゴリだけ非表示」ってやるつもり。

新着(ニュース関連以外)

2017-11-09
PCでプッシュ通知ってのをしたい。
2017-11-06
PHPのバージョンを上げたらwikiが壊れたっぽい。
2017-08-03
formのinputでmaxlengthを使うとFirefoxでバグってた。他のブラウザでも気づかずにバグってたかもしれない。
2017-07-19
折れ線グラフをもう少しゆるやかに・・・というか何というか・・・調べていくと「移動平均」っていう言葉にたどり着いた
2017-07-10
FuelPHPの1.8をダウンロードして使っていたらセッションが使えないということに気付いた。