てくてくあるく

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 の 記事 を CSV で ダウンロード する

詳細へ »

サムネイル が 設定されている投稿のみ 取得する

詳細へ »

投稿 に アーカイブ(投稿一覧) を 持たせる

詳細へ »