搜索在 WordPress 中不起作用
Search not working in WordPress
我在 WordPress 主题中使用搜索功能时遇到了一个问题:
我在函数中有自定义 post 类型和自定义分类法。我不知道这是否会影响在 WordPress 中搜索?使用 name ="s"
在 WordPress 表单中输入
我的查询搜索:
$paged = ( get_query_var('page') ) ? get_query_var('page') : 1;
$args = array(
'post_type' => 'post',
'posts_per_page' => 5,
'paged' => $paged);
$posts = new WP_Query($args);
如果我删除 $posts = new WP_Query($args);
并且在循环中不使用 $posts
,搜索将正常工作。
我的导航是:
paginate_links( array(
'format' => '?page=%#%',
'current' => max( 1, get_query_var('page') ),
'total' => $posts->max_num_pages,
'prev_text' => __('Previous', 'extc'),
'next_text' => __('Next', 'extc')
) );
执行自定义查询后,您需要恢复原始 post 数据:
wp_reset_postdata();
你不是在说你在做这件事,看起来这是因为弄乱了 $post 变量而给你带来了问题。
中查看
@Mr D 我相信您必须像这样在您的参数中包含税务查询:
$paged = ( get_query_var('page') ) ? get_query_var('page') : 1;
$args = array(
'post_type' => 'your_custom_post_type',
'posts_per_page' => 5,
'paged' => $paged,
'tax_query' => array(
array (
'taxonomy' => 'your_custom_taxonomy',
'field' => 'slug',
'terms' => 'your_custom_taxonomy_term',
)
)
);
$posts = new WP_Query($args);
并且您还必须在自定义 post 类型注册中声明分类
感谢兄弟帮助我。这个问题解决了。我尝试将查询更改为:
$posts = new WP_Query();
$posts = $posts->query('post_type=post&s='.get_search_query().'&posts_per_page=5&paged='.$paged);
太棒了!再次感谢!
我在 WordPress 主题中使用搜索功能时遇到了一个问题:
我在函数中有自定义 post 类型和自定义分类法。我不知道这是否会影响在 WordPress 中搜索?使用 name ="s"
我的查询搜索:
$paged = ( get_query_var('page') ) ? get_query_var('page') : 1;
$args = array(
'post_type' => 'post',
'posts_per_page' => 5,
'paged' => $paged);
$posts = new WP_Query($args);
如果我删除 $posts = new WP_Query($args);
并且在循环中不使用 $posts
,搜索将正常工作。
我的导航是:
paginate_links( array(
'format' => '?page=%#%',
'current' => max( 1, get_query_var('page') ),
'total' => $posts->max_num_pages,
'prev_text' => __('Previous', 'extc'),
'next_text' => __('Next', 'extc')
) );
执行自定义查询后,您需要恢复原始 post 数据:
wp_reset_postdata();
你不是在说你在做这件事,看起来这是因为弄乱了 $post 变量而给你带来了问题。
中查看@Mr D 我相信您必须像这样在您的参数中包含税务查询:
$paged = ( get_query_var('page') ) ? get_query_var('page') : 1;
$args = array(
'post_type' => 'your_custom_post_type',
'posts_per_page' => 5,
'paged' => $paged,
'tax_query' => array(
array (
'taxonomy' => 'your_custom_taxonomy',
'field' => 'slug',
'terms' => 'your_custom_taxonomy_term',
)
)
);
$posts = new WP_Query($args);
并且您还必须在自定义 post 类型注册中声明分类
感谢兄弟帮助我。这个问题解决了。我尝试将查询更改为:
$posts = new WP_Query();
$posts = $posts->query('post_type=post&s='.get_search_query().'&posts_per_page=5&paged='.$paged);
太棒了!再次感谢!