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()」ってヤツ。

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

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

2018-05-16
PHPで画像のヘッダ情報(?)の「Orientation」を元に画像回転させたい。
2018-03-05
Android Studioをインストール。エミュレータを軽くするトコまで終わらせたかったけど、挫折した。
2018-02-23
プッシュ通知について調べてた時にでてきたServiceWorker。そのServiceWorkerについてのメモ。
2017-12-13
jqueryで取得したDOM要素をオブジェクトじゃなくて、配列で受け取りたい
2017-11-30
Xampp+FuelPHP1.8をサーバーにupしたらエラーになった。