如果GET_POST_META返回该键的嵌套数组,如何设置META_QUERY?

时间:2019-01-27 作者:Ivan Topić

我需要得到与具体职位元帖子。如果我使用以下代码检查常规回路:

$args = array(
    \'post_status\' => \'published\',
    \'posts_per_page\' => 77,
    \'post_type\' => \'post\',
);
$query = new WP_Query($args);
while ($query->have_posts()) : $query->the_post(); 

$literature = get_post_meta(get_the_ID(), \'popis_literature\'); 
var_dump($literature);

endwhile; 
对于某些帖子var_dump 提供如下数据数组

array (size=1)
  0 => 
    array (size=2)
      0 => string \'32985\' (length=5)
      1 => string \'59956\' (length=5)
如何通过这些ID之一查询帖子?这没有给我任何东西

$args = array(
    \'post_status\' => \'published\',
    \'posts_per_page\' => -1,
    \'post_type\' => \'post\',
    \'meta_query\' => array(
        array(
            \'key\' => \'popis_literature\',
            \'value\'   => array(\'32985\'),
            \'compare\' => \'IN\'
        )
    ),
);

1 个回复
SO网友:maheshwaghmare

您错过了get\\u post\\u meta()中的最后一个参数。

请尝试以下代码:

$literature = get_post_meta(get_the_ID(), \'popis_literature\', true);
它为您提供ID数组。E、 g。

array (size=2) 0 => string \'32985\' (length=5) 1 => string \'59956\' (length=5)
因此,在查询中,您可以像这样使用它们:

$args = array( \'post_status\' => \'published\', \'posts_per_page\' => -1, \'post_type\' => \'post\', \'meta_query\' => array( array( \'key\' => \'popis_literature\', \'value\' => $literature, \'compare\' => \'IN\' ) ), );

相关推荐

如何在wp-Query中比较不同的时间戳以获取事件自定义帖子类型?

我有一个带有自定义元数据库的自定义帖子类型(as seen on wptheming.com) 并且希望进行查询以显示即将发生的事件,例如在侧边栏中,过去的日期被忽略。但我需要一个当前时间的值来和事件开始时间进行比较。现在我从current_time(\'mysql\') 看起来是这样的:2012-02-16 13:15:31元的开始时间如下所示:201108121100如何使这两个日期具有可比性?我可以在查询中执行吗?或者是否有其他解决方案?以下是我到目前为止的查询(值留空,时间戳回显):<?ph