wp プラグインの作成15 pre_get_postsを使う1 2件表示にしてみる

2013/06/14

特定のカテゴリを非表示にしたい。とりあえず「pre_get_posts」を使えば良いらしいから「pre_get_posts」を調べる。

いきなり「特定のカテゴリを非表示」ってできれば良いんだけど…できないから順番にやっていく。
まずはメインになる「pre_get_posts」ってヤツで簡単なものからやっていくことにする。

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

雑記

上記をテンプレートの「function.php」に記載する。
あとはブラウザでブログを表示すると「2件表示」になっているはず。

テンプレート側で「have_posts()」とか、されたときに呼ばれているっぽい。

あとは「add_filter()」じゃなくて「add_action()」を使っている。

「is_admin()」で管理画面かどうかチェックしてるっぽい。
ココのif文をなくすと管理画面でも同じようになってしまうらしい。

「$wpQuery->set( 'posts_per_page', '2' )」で「2件表示」になるらしい。第一引数が対象で、第二引数が値っぽい。
今回の場合だと「対象:表示件数(posts_per_page)、値:2」となる。

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

2018-07-26
年賀状で「新春」とか書くけど・・・何故なんだろうと8月を目前にした今、疑問に思った。
2018-05-16
PHPで画像のヘッダ情報(?)の「Orientation」を元に画像回転させたい。
2018-03-05
Android Studioをインストール。エミュレータを軽くするトコまで終わらせたかったけど、挫折した。
2018-02-23
プッシュ通知について調べてた時にでてきたServiceWorker。そのServiceWorkerについてのメモ。
2017-12-13
jqueryで取得したDOM要素をオブジェクトじゃなくて、配列で受け取りたい