页面内的自定义帖子类型搜索结果
问题描述:
下面的表格给出了确切的结果。我有一个产品自定义帖子,其结果需要低于或低于页面内的自定义帖子类型搜索结果
标签。它没有显示相应的结果。
<form role="search" method="get" id="searchform" action="<?php echo home_url('/'); ?>">
<label>
<span class="screen-reader-text">Search for:</span>
<input type="text" name="s" placeholder="Search Product..." id="search">
<input type="submit" id="searchsubmit" value="Search">
<input type="hidden" name="post_type" id="post_type" value="product">
</label>
</form>
<hr>
我的自定义邮编 ADD_ACTION( '初始化', 'product_register');
function product_register() {
$args = array('label' => __('Products'), 'singular_label' => __('Product'), 'public' => true, 'show_ui' => true, 'capability_type' => 'post', 'hierarchical' => false, 'rewrite' => true, 'supports' => array('title', 'editor', 'thumbnail'));
register_post_type('product', $args);
}
add_action('admin_init', 'admin_init');
我的搜索结果代码
<div class="container">
<?php if (have_posts() && strlen(trim(get_search_query())) != 0) : ?>
<h1>Search Results for<small><?php echo get_search_query(); ?></small></h1>
<?php while (have_posts()) : the_post(); ?>
<?php if (has_post_thumbnail()) : ?>
<a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('medium'); ?></a>
<div class="span9">
<?php else : ?>
<div class="span12">
<?php endif; ?>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
<?php the_excerpt(); ?>
<hr />
<?php endwhile; ?>
<?php else : ?>
<div class="page-header">
<h1 class="page-title">No results Found</h1>
</div>
<?php endif ;?>
</div><!--/.container -->
请咨询显示确切的结果。
答
您需要设置自定义后类型里面pre_get_posts
钩,里面添加的functions.php这个代码,
add_filter('pre_get_posts', 'add_cpt_in_search_result');
function add_cpt_in_search_result($query) {
if ($query->is_search) {
$query->set('post_type', array('post', 'page', 'product'));
}
return $query;
}