Php 在WordPress中搜索不起作用

Php 在WordPress中搜索不起作用,php,wordpress,custom-post-type,custom-taxonomy,Php,Wordpress,Custom Post Type,Custom Taxonomy,我在WordPress主题中使用搜索功能时遇到了一个问题: 我在函数中有一个自定义的post类型和自定义的分类法。我不知道这对在WordPress中搜索是否有影响?以WordPress格式输入name=“s” 我的查询搜索: $paged = ( get_query_var('page') ) ? get_query_var('page') : 1; $args = array( 'post_type' => 'post', 'posts_per

我在WordPress主题中使用搜索功能时遇到了一个问题: 我在函数中有一个自定义的post类型和自定义的分类法。我不知道这对在WordPress中搜索是否有影响?以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=newwp\u查询($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变量而给您带来了问题


执行自定义查询后,您需要恢复原始post数据:

 wp_reset_postdata();
您并不是说您正在这样做,看起来这是因为弄乱了$post变量而给您带来了问题


请在D先生的页面中查看,我认为您必须在args中包含税务查询,如下所示:

$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类型注册中声明分类法。D先生,我相信您必须在args中包含税务查询,如下所示:

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

您还必须在自定义帖子类型注册中声明分类法

谢谢兄弟帮助我。这个问题解决了。我尝试将查询更改为:

$posts = new WP_Query();
$posts = $posts->query('post_type=post&s='.get_search_query().'&posts_per_page=5&paged='.$paged);

太可怕了!再次感谢

谢谢兄弟帮我。这个问题解决了。我尝试将查询更改为:

$posts = new WP_Query();
$posts = $posts->query('post_type=post&s='.get_search_query().'&posts_per_page=5&paged='.$paged);

太可怕了!再次感谢

谢谢你的帮助,但它不起作用。帖子未过滤,列表帖子已满。我的查询似乎不正确。因为当我删除上面的代码时,它就工作了。你是在查询后重置主循环结果吗?谢谢你的帮助,但它不工作。帖子未过滤,列表帖子已满。我的查询似乎不正确。因为当我删除上面的代码时,它就起作用了。你是在查询后重置主循环结果吗?这应该已经发布到wordpress集合了。这应该已经发布到wordpress se了