あるよね?
オレは、日々更新する勉強だとかダイエット関連記事は、カテゴリには一覧を表示したいけど、トップページには表示したくなかった。
だが、標準機能ではできない。
そこで、ちょいと設定をいじったわけだ。
簡単3ステップ!
対象となる人
- トップページの一覧には表示したくないカテゴリだが、カテゴリ別のページやタグのページには記事のリストを表示させたい記事がある人。
- 記事毎であれば、文書設定→その他→アーカイブに出力しない□にチェックを入れることで、リストに表示しない設定ができる。
ただし、カテゴリやタグのページに表示されるリストにも表示されなくなるので、トップページだけに表示したくないという細かな制御はできない。
- 記事毎であれば、文書設定→その他→アーカイブに出力しない□にチェックを入れることで、リストに表示しない設定ができる。
- Kusanagi for Conohaでの話
- 基本はKusanagiであれば同じかと思われる
- テーマはCocoon、子テーマを適用している人
- 他のテーマでも、設定ファイルの保存場所が違うだけで作業は同じだ。
Step.1 ファイルのアクセス権限を修正する
VPSなり、レンタルサーバにログインして行う作業だ。
もしくはファイルマネージャ的なツールを使う人も居るかもしれない。
自分の環境に合わせてやってくれ。
Kusanagi for ConohaでテーマはCocoon、子テーマを使用している人は、以下のディレクトリに設定ファイルが保存されている。
/home/kusanagi/「プロファイル名」/DocumentRoot/wp-content/themes/cocoon-child-master
設定ファイルをll(えるえる)コマンドで表示するとコレ。
# ll -rw-r--r--. 1 kusanagi kusanagi 169 10月 9 2020 functions.php
この行頭にあるrwとかが権限。
上記の内容だと設定ファイルは読み込み専用になっている。
では、どうするのか。
まぁ難しいことは抜きにして、下記のコマンドを打ってくれ。
# chmod 666 functions.php
すると、さっきの表示がこう変わる。
-rw-rw-rw-. 1 kusanagi kusanagi 169 10月 9 2020 functions.php
これでサーバをいじる作業は終わり。
Step.2 除外したいtag_IDを調べる
トップページに表示したくないカテゴリは、カテゴリ名でなくtag_IDという数字で設定する。
その調べ方はコレ。
WordPressにログイン。
ダッシュボード→投稿→カテゴリーを選択する。
表示されたカテゴリー一覧から、除外したいカテゴリーをクリックする。
ブラウザのアドレスバーに表示されているURLのうち、下記の○○がtag_ID。
&tag_ID=○○&
これをどっかにメモしとく。
Step.3 テーマファイルにコードを追記する
最後のステップ。
ダッシュボード→外観→テーマエディターを選択。
画面右側の以下をクリック。
テーマのための関数 (functions.php)
表示された編集ボックスの一番下に、以下のコードを追記する。
○○のところにさっきのtag_IDを書く。
//トップページに表示させたくないカテゴリを指定 function exclude_category( $query ) { if ( $query->is_home() && $query->is_main_query() ) { $query->set( 'cat', '-○○' );//マイナスをつけた特定IDを除外する } } add_action( 'pre_get_posts', 'exclude_category' );
複数のカテゴリを表示させたくない場合は、マイナス記号+tag_IDを半角カンマで複数記載すれば良い。
この情報は以下から丸パクリしました。
勉強になります。
ありがとうございます!
動作確認して終了だ!