元查询返回空数组

时间:2018-01-31 作者:thatryan

我有两个CPT,它们通过其中一个上的元值进行关联。我在一个CPT中有一个meta\\u键,它保存其链接的其他CPT的ID。

enter image description here

如果我在管理中找到那篇文章并像这样转储它的meta,

$meta = get_post_meta( $_GET[\'post\'] );

dd( $meta );
然后像我所期望的那样转储一个数组,匹配DB中的内容,

Array
(
    .....
    [practice_id] => Array
        (
            [0] => 4519
        )
    .....
)
然后我在另一个CPT编辑屏幕上查询帖子并转储结果,

$current_practice_id = $_GET[\'post\'];
$practice_args = array(
    \'post_type\'  => \'sf-location\',
    \'meta_query\' => array(
        array(
            \'key\' => \'practice_id\',
            \'value\' => $current_practice_id,
        ),
    ),
);
$practice_array = get_posts( $practice_args );

dd($practice_args);
它只返回一个空数组。

$current_practice_id 正在将设置为正确的Post ID,在本例中为4519。

因此,它应该返回第一个屏幕截图中看到的帖子,本例中的帖子ID为4520。

我错过了什么?

非常感谢。

1 个回复
SO网友:Howdy_McGee

/u/Nicolai 在问题评论部分建议,添加post_status 不仅是为了有效性,也是为了速度。可能是这样的:

$practice_args = array(
    \'post_type\'     => \'sf-location\',
    \'post_status\'   => \'publish\',
    \'meta_query\'    => array(
        array(
            \'key\'   => \'practice_id\',
            \'value\' => $current_practice_id,
        ),
    ),
);

结束

相关推荐