てくてくあるく

WordPress の テーマ とか プラグイン に ついて 勉強しています

検索結果から 固定ページを 除外したい
でも カスタム投稿タイプ は 除外したくない
そんなこんなで exclude_from_search を true に する方法を 考えついた

検索結果から固定ページを除外 等で 調べると
pre_get_posts で query を 変更する方法が 多く出てきたけど
カスタム投稿タイプ の スラッグを 全部書かないといけない

カスタム投稿タイプ が 増減したら 増減したら 面倒だな
と思って 他の方法は ないかな?? と思っていたら

カスタム投稿タイプの 設定には exclude_from_search という項目がある

page の exclude_from_search を true に するのではいけないのだろうか??

add_action( 'init', function() {
  global $wp_post_types;

  $page = &$wp_post_types['page'];
  $page->exclude_from_search = true;

  unset( $page );
} );

ということで 実装してみた

問題なく動いてるけど

あまり この方法の記事を見なかった…

安全性がちょっと わからないや…

Related Article

WordPress テーマ作りで 気をつけていること & 2022年 よく使った プラグイン

詳細へ »

知らなかった… 投稿タイプ毎に テンプレートを 用意することができる

詳細へ »

Gutenberg の カスタムブロック を 作ってみる

詳細へ »