検索結果から 固定ページを 除外したい
でも カスタム投稿タイプ は 除外したくない
そんなこんなで 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

自作 テーマ を テーマユニットテスト で 検査してみた

詳細へ »

FrontPage に 広告用 ウィジェットエリア を 表示させてみた

詳細へ »

archives の tag ページ が 崩れていた ので 修正した

詳細へ »