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」となる。

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

2017-07-19
折れ線グラフをもう少しゆるやかに・・・というか何というか・・・調べていくと「移動平均」っていう言葉にたどり着いた
2017-07-10
FuelPHPの1.8をダウンロードして使っていたらセッションが使えないということに気付いた。
2017-06-27
MACにWin10をインストールしてみた:再挑戦。
2017-06-25
「簡単」っていうヤツらが多いけど・・・難しいぞ。
2017-06-06
FuelPHPのOILでtry・catchを使ったらエラーになった。