Category
Archives
Cocotiie
Trial And Error!やってみよう!の精神でWeb制作をしています。初心者の方にも伝わるよう、心がけています。少しでも誰かの助けになれれば嬉しいです。宜しくお願い致します。

2006年:Web制作に関する覚書きブログをはじめる。

2018年:Cocotiie(ココッティー)として運営開始。
このサイトは快適なテーマ「SWELL」を使用していますSWELLについて

[WordPress] サイト内検索に特定ページ、記事を表示させない

検索結果

WordPressのサイトに検索機能を付け、検索した際に特定の記事、カテゴリーや固定ページを結果に表示させない方法をシェアします。送信完了ページなど、表示されては困るページや記事を隠します。

ちなみに、WordPressのサイト内の検索のお話です。Google等のネット検索結果の事ではありません。ネット検索に表示されない様にするにはSEOプラグインを使うのが便利です。

INDEX

設定の共通事項

function.phpに記載します。子テーマをお使いだと思いますので、子テーマの中の function.php に書いて下さい。バクアップを取ってから作業すると安心です。

何かとIDを使います。例えば、この記事の番号は63368の様です。記事を書いているページのURLの部分にIDがあります。

ID番号

同じ要領でカテゴリーIDも取得できます。

IDで特定のページ、記事を除外する

固定ページ、投稿ならIDさえ入力すればOKです。array(ID,ID,ID)とIDの所に番号を書きます。

function search_pre_get_posts( $query ) {
if ( $query->is_search && !is_admin() ){
$query->set( 'post__not_in', array(1,2,3,4) );
}
return $query;
}
add_action( 'pre_get_posts', 'search_pre_get_posts' );

全ての固定ページを除外する

固定ページは検索するまでもないんじゃ!という場合はまとめてえーい!と表示させない事も可能です。このサイトではその様にしています。

function mycus_search_filter_post_only_func( $query ) {
    if ( $query->is_search() && $query->is_main_query() && ! $query->is_admin() ) {
        $query->set( 'post_type', 'post' );
    }
    return $query;
}
add_filter( 'pre_get_posts', 'mycus_search_filter_post_only_func' );

IDで特定カテゴリーの投稿を除外する

array(ID,ID,ID) とIDの所に番号

function search_pre_get_posts( $query ) {
if ( $query->is_search && !is_admin() ){
$query->set('category__not_in', array(1,2,3,4) );
}
return $query;
}
add_action( 'pre_get_posts', 'search_pre_get_posts' );
よかったらシェアお願いします
  • URLをコピーしました!
  • URLをコピーしました!

コメント ※ハンドルネームでお願いします

コメントする

INDEX