これがまたいくら検索しても見つからなかったので、自力でどうにかできて本当に良かったです。
新着記事の中で表示させたくない記事がある
WordPressを運用していると、こういう場面もありますね。
自分の場合は、通常の新着記事とニュースの新着記事を分けたかったのです。
色々検索して、まず参考になったのはこの記事でした。
わいひらさんにはいつも色々な意味でお世話になっております。このサイトのテーマも彼のcocoonですし。
TCDテーマで新着記事をカスタマイズ
しかし、自分がやりたいサイトで使っているテーマはTCDテーマだったので、うまくいかず・・・
最初に答えを書いておくと、TCDテーマはいくつもありますが、ある程度共通しているので、同じ方法でいけます。
特に古いテーマを使っている方は情報がなくて苦労しますよね。私が使っているCoreなんか何年も前のテーマなので、もはや全然情報がありません。。。仕方ないので
上記の記事を参考にして応用してみました。私が使用しているTCDテーマのCoreに関してはこの方法でいけました。
index.php(子テーマでやるのがおすすめ)を開いて
category__not_in' =>array(1)
をある箇所に付け足すだけです。ここの数字(1)は非表示にしたいカテゴリーIDを入れてください。
カテゴリーIDの探し方
カテゴリーIDの見つけ方は簡単で、管理画面から「カテゴリー」に入って、任意のカテゴリーの上にカーソルを動かすと、下に文字列が出てきます。その文字列の中のtag_id=[数字]が、カテゴリーIDになります。
index.phpを少しいじる
それで、どの箇所に貼るかといいますとindex.phpの
#index_post_list1
の箇所を探して、その部分の
$args = array('post_type' => 'post', 'ignore_sticky_posts' => 1, 'posts_per_page' => 11, 'category'=>$options['index_category1']);
このコードを探してください。このコードはおそらくCoreだけなので、他のテーマの方は
$args = array('post_type' => 'post',
この部分だけで検索して、該当する箇所はいくつか出ると思いますがカラー表示などで、探しやすいようにしてみてください。
ここは簡単に言うと、Coreテーマの「新着記事」箇所の部分。
ここに category__not_in' =>array(1)
を付け足して
$args = array('post_type' => 'post', 'category__not_in' =>array(1), 'ignore_sticky_posts' => 1, 'posts_per_page' => 11, 'category'=>$options['index_category1']);
こんな感じにします。
(1)の部分に、非表示にしたいカテゴリーIDの数字を入れるのと、区切りのカンマを忘れずに☺
$args = array('post_type' => 'post',
の次に、category__not_in' =>array(1)
を付け足せばいいんですね。うまく動いているかはどうかは、良かったら私のサイトをご確認ください。
トップページの新着とニュースの新着が、うまく分かれてます。ニュースで記事を更新しても新着一覧には表示されず、ニュースの新着にはきちんと表示されるようになりました。
この方法を応用すれば、新着以外でも使えると思います。重くなる原因のプラグインもいりません。
うまくいって本当に良かったのと、こういうニッチな情報はなかなか少ないと思うので、記述しておきます☺
コメント