WP_QUERY CATEGORY__不工作,仅从第一个类别拉取

时间:2017-05-11 作者:Ludovic M.

我写了一个WP\\u查询,其行为很奇怪。我几乎什么都试过了,但都没用。我找到了一个解决方案,但我试着去理解。

以下查询始终返回来自第一个caregory(id:15,slug:slug1)的帖子。

$args = array(
    \'post_type\' => \'post\',
    \'post_status\' => \'publish\',
    \'category__in\'    => array(15, 17),
    \'posts_per_page\' => 4
);

$query = new WP_Query($args);
$items = $query->get_posts();

$args = array(
    \'post_type\' => \'post\',
    \'post_status\' => \'publish\',
    \'cat\'    => \'15,17\',
    \'posts_per_page\' => 4,
);

$query = new WP_Query($args);
$items = $query->get_posts();

$args = array(
    \'post_type\' => \'post\',
    \'post_status\' => \'publish\',
    \'category_name\'    => \'slug1,slug2\',
    \'posts_per_page\' => 4,
);

$query = new WP_Query($args);
$items = $query->get_posts();

$args = array(
    \'post_type\' => \'post\',
    \'post_status\' => \'publish\',
    \'posts_per_page\' => 4,
    \'tax_query\' => array(
        array(
            \'taxonomy\' => \'category\',
            \'field\'    => \'term_id\',
            \'terms\'    => array(15,17),
        ),
    ),
);

$query = new WP_Query($args);
$items = $query->get_posts();
解决方案是使用query\\u post($args)而不是WP\\u query->get\\u posts()

$args = array(
    \'post_type\' => \'post\',
    \'post_status\' => \'publish\',
    \'category__in\'    => array(15, 17),
    \'posts_per_page\' => 4
);

$items = get_posts($args);
你能告诉我哪里错了吗?

1 个回复
最合适的回答,由SO网友:Ludovic M. 整理而成

下列的Milo\'s的回答是,我找到了另一个可行的解决方法,我对它更为适应。

$args = array(
    \'post_type\' => \'post\',
    \'post_status\' => \'publish\',
    \'category__in\'    => array(15, 17),
    \'posts_per_page\' => 4
);

$query = new WP_Query();
$items = $query->query($args);

结束

相关推荐

使用jQuery检查管理区域字段onblur中的字符串长度

我有一个自定义字段(我使用高级自定义字段插件)设置为在创建新帖子时显示。用户必须输入4位数的年份。不超过4个字符,不少于。我的职能如下。php代码:function make_year_created_equal_4_chars_init(){ wp_enqueue_script(\'jquery\'); } function make_year_created_equal_4_chars() { echo \"<script type=\'text/java