搜索在 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 变量而给你带来了问题。

codex

中查看

@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);

太棒了!再次感谢!