我已经在功能文件中注册了新的自定义帖子类型。之后,我创建了一个新模板,并在页面上分配了该模板。在下面的代码中,我使用两个显示自定义帖子类型的所有记录。
<?php
$temp = $wp_query;
$wp_query = null;
$wp_query = new WP_Query();
$wp_query->query('showposts=5&post_type=news'.'&paged='.$paged);
while ($wp_query->have_posts()) : $wp_query->the_post();
?>
<!-- LOOP: Usual Post Template Stuff Here-->
<?php endwhile; ?>
<nav>
<?php previous_posts_link('« Newer') ?>
<?php next_posts_link('Older »') ?>
</nav>
<?php
$wp_query = null;
$wp_query = $temp; // Reset
?>
现在,我想添加一个搜索表单,该表单将用于搜索帖子标题并在同一页面中返回结果。我不知道该怎么做,所以有人可以帮助搜索。
答案 0 :(得分:0)
您可以在函数中添加搜索过滤器,以过滤出您的自定义帖子类型。未经测试,但应该可以。
// Search Filter
add_filter('pre_get_posts','rusty_search_filter');
function rusty_search_filter($query) {
if (!is_admin() && is_page('news')) {
if ($query->is_search) {
$query->set('post_type', array('news'));
}
return $query;
}
}
答案 1 :(得分:0)
“您可以在WordPress搜索结果中包含自定义帖子类型” ,方法是在functions.php文件中添加以下代码。
add_filter( 'pre_get_posts', 'tgm_io_cpt_search' );
function tgm_io_cpt_search( $query ) {
if ( $query->is_search ) {
$query->set( 'post_type', array( 'post', 'news', 'products', 'portfolio') );
}
return $query;
}
希望这对您有所帮助。