サイト内のページを検索する必要はなく、投稿のみを検索したいのですが、方法はありますか?ありがとう
サイト内のページを検索する必要はなく、投稿のみを検索したいのですが、方法はありますか?ありがとう
回答:
以下は、ページ投稿タイプが検索不能になるようにする必要があります。
function remove_pages_from_search() {
global $wp_post_types;
$wp_post_types['page']->exclude_from_search = true;
}
add_action('init', 'remove_pages_from_search');
functions.phpの以下もうまく機能します。
//Remove pages from search results
function mySearchFilter($query) {
if ($query->is_search) {
$query->set('post_type', 'post');
}
return $query;
}
add_filter('pre_get_posts','mySearchFilter');
これをsearch.phpに入れてください
<?php if (is_search() && ($post->post_type=='page')) continue; ?>
このコードのすぐ下-> <?php if ( have_posts() ) : while ( have_posts() ) : the_post();?>
詳細はこちらをご覧くださいhttp://wordpress.org/support/topic/possible-search-only-posts-exclude-pages
以下は、検索が管理者からのものであるかどうかをチェックし、投稿タイプを検索に設定するコードです。
if (!is_admin()) {
function wpb_search_filter($query) {
if ($query->is_search) {
$query->set('post_type', 'post');
}
return $query;
}
add_filter('pre_get_posts','wpb_search_filter');
}
from:http : //www.wpbeginner.com/wp-tutorials/how-to-exclude-pages-from-wordpress-search-results/