ฉันไม่จำเป็นต้องค้นหาหน้าเว็บในเว็บไซต์ของฉันและต้องการค้นหาเฉพาะโพสต์มีวิธีการหรือไม่ ขอบคุณ
ฉันไม่จำเป็นต้องค้นหาหน้าเว็บในเว็บไซต์ของฉันและต้องการค้นหาเฉพาะโพสต์มีวิธีการหรือไม่ ขอบคุณ
คำตอบ:
ด้านล่างควรทำให้ประเภทโพสต์ของหน้าไม่สามารถค้นหาได้อีก
function remove_pages_from_search() {
global $wp_post_types;
$wp_post_types['page']->exclude_from_search = true;
}
add_action('init', 'remove_pages_from_search');
ในฟังก์ชั่นต่อไปนี้ยังทำงานได้ดี:
//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');
}
จาก: http://www.wpbeginner.com/wp-tutorials/how-to-exclude-pages-from-wordpress-search-results/