Wordpress Can';我不能让税务查询工作

Wordpress Can';我不能让税务查询工作,wordpress,Wordpress,我有一个自定义的WP查询,其中列出了自定义的帖子类型。我正在尝试设置过滤器,以按自定义分类法筛选列表 我的查询设置如下所示: // WP_Query arguments $args = array ( 'post_type' => 'opps', 'post_status' => 'publish', 'pagination' => true, 'posts_per_page

我有一个自定义的WP查询,其中列出了自定义的帖子类型。我正在尝试设置过滤器,以按自定义分类法筛选列表

我的查询设置如下所示:

// WP_Query arguments
$args = array (
    'post_type'              => 'opps',
    'post_status'            => 'publish',
    'pagination'             => true,
    'posts_per_page'         => $postsperpage,
    'posts_per_archive_page' => $postsperpage,
    'ignore_sticky_posts'    => true,
    'order'                  => 'DESC',
    'orderby'                => 'date',
    'cache_results'          => true,
    'update_post_meta_cache' => true,
    'update_post_term_cache' => true,
    'paged'                  => $paged,
    'tax_query'              => array(
                                    array(
                                        'taxonomy' => 'sector',
                                        'field'    => 'slug',
                                        'terms'    => 'business-services'
                                    ),
                                )
);
因此,在上面的示例中,我应该只获得分类法为'sector'和slug'business services'的帖子,但是来自自定义帖子类型'opps'的所有帖子都会被列出

我已经查看了stackoverflow和其他版本的所有内容,但我就是不知道我做错了什么。

您的代码看起来不错


我以前遇到过这个问题,因为wordpress直到初始化阶段后期才同步分类术语。在调用get_header()或wp_head()之后,您是否尝试过在模板中运行此代码?如果不尝试,那么它应该会起作用。我知道如果我在functions.php中重复了它进行测试,它将无法工作,因为wordpress尚未同步税务术语。

在创建自定义查询时,您应该真正了解一下。按照您的代码,它将失败。您有以下问题

  • 分页
    不是
    WP\u查询
    的有效参数

  • 您不能同时使用
    posts\u per\u page
    posts\u per\u archive\u page

  • 您不需要设置默认设置的参数值。代码中使用的不必要参数默认值为
    order
    orderby
    post\u status
    cache\u结果
    update\u post\u meta\u cache
    update\u post\u term\u cache

自定义帖子类型没有粘性帖子功能。只需删除
ignore\u sticky\u post
参数

您的代码应该是这样的(我希望您的变量已定义)

// WP_Query arguments
$args = array (
    'post_type'              => 'opps',
    'posts_per_page'         => $postsperpage,
    'paged'                  => $paged,
    'tax_query'              => array(
         array(
            'taxonomy' => 'sector',
            'field'    => 'slug',
            'terms'    => 'business-services'
         ),
      )
);