当サイトはWordPressで構築していたりするのですが、最新の投稿に一部カテゴリーの投稿が表示されない小細工を弄していたりしました。
恥ずかしいbefore
小細工というのは、index.phpに下記を追記するだけの簡単なものでした。
if (is_home()) {
query_posts("cat=-/*ここにカテゴリーIDを入れる*/");
}
しかし!ここ連日で投稿を行ってきたせいか、当サイトフロントページの下部にページ送り表示があり、しかもこのページ送りが『URLに”/page/~”と付随するのに、表示される投稿は必ず最新の投稿数件になる。』なんていう恥ずかしい事態になっていたことに昨日気づきました。
納得のafter
数件、WordPressのphpに詳しいサイトを回ったところ、WORDPRESSCodex日本語版に行き着き、しかもサンプルコードがほぼ求めていたものでした!それがこちら。
function exclude_category( $query ) {
if ( $query->is_home() && $query->is_main_query() ) {
$query->set( 'cat', '-1,-1347' );
}
}
add_action( 'pre_get_posts', 'exclude_category' );
もちろん、カテゴリ別表示にも対応しています。
よかったよかった!