元查询返回错误的帖子数量

时间:2016-01-31 作者:user998163

我在一个类别中使用此元查询:

$args   =  array(
    "posts_per_page"    => 12,
    "post_type"         => array( "event", "post" ),
    "post_status"       => "publish",
    "category"          => $tid,
    \'meta_query\'        => array(
                                \'relation\' => \'OR\',
                                array(
                                    \'key\'       => \'event_start\',
                                    \'value\'     => date("Y-m-d H:i:s"),
                                    \'compare\'   => \'>=\',
                                    \'type\'      => \'DATE\'
                                ),
                                array(
                                    \'key\'       => \'event_start\',
                                    \'compare\'   => \'NOT EXISTS\'
                                )
                            ),
                            array(
                                \'key\'       => \'_thumbnail_id\',
                                \'compare\'   => \'EXISTS\'
                            ),
                            array(
                                \'key\'       => \'foreign_language\',
                                \'value\'     => 0
                            )
);

$posts          = get_posts( $args );
它应该返回12个帖子,但只返回11个。如果我设置posts_per_page 到13,返回12。

可能是什么问题?

1 个回复
最合适的回答,由SO网友:Pieter Goosen 整理而成

$posts 是一个保留的全局变量,用于存储$posts 属性。通过使用$posts 作为局部变量,您正在中断主查询和$posts 全局变量。这会导致意外的输出。

您应该使用唯一的自定义变量作为局部变量。你可以通过改变

$posts = get_posts( $args );
大概是

$posts_array = get_posts( $args );

相关推荐

如何让`wp-list-table`显示我在Custom-Post中的`Custom-Fields`

一切都好吗<我需要wp-list-table 也要显示custom-fields 在每个custom-post 我有,但我不知道如何做到这一点,在这幅图中,它显示了带有字段的表格:Title, Author and Publication Date: 我想要的是能够选择custom-fields 将出现,例如以下示例Title, Carta, Naipe, Author, and Date of Publication: