meta_post_meta return value 1

时间:2019-03-09 作者:alpha.romeo

我想返回一些post meta,但当我使用函数get\\u post\\u meta或get\\u post\\u custom时,函数总是返回所有元数据的值1,我尝试了多次思考,但它们返回的值相同,我怀疑它们返回的是布尔值。在wp\\U POSTETA表中,meta\\U值等于30。

  $build[\'time\'] = get_post_meta($id, \'prep_time\') ;  //retun 1
  $build[\'time\'] = maybe_unserialize(get_post_meta($id, \'prep_time\')) ;
知道怎么了吗?

1 个回复
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成

get_post_meta 取3个参数,而不是2个:

get_post_meta( int $post_id, string $key = \'\', bool $single = false )
如您所见,第三个参数默认为false。这意味着,如果不传递它,函数将返回一个数组,其中包含该键的所有自定义字段。

如果只有一个带键的元字段prep_time, 您将获得:

Array( 0 => "30" )
另一方面,我很确定这不是你所期望的,所以你应该通过true 如第三个参数所示:

$build[\'time\'] = get_post_meta($id, \'prep_time\', true);

相关推荐

列出分类法:如果分类法没有POST,就不要列出分类法--取决于定制的POST-META?

这可能很难解释,我不知道是否有解决办法!?我有一个名为“wr\\u event”的自定义帖子类型和一个名为“event\\u type”的分层自定义分类法。自定义帖子类型有一个元框,用于event_date 并且与此帖子类型关联的所有帖子都按以下方式排序event_date. 我在循环中有一个特殊的条件来查询event_date 已经发生了-在这种情况下,它没有显示,但只列在我的档案中。就像你可以使用wp_list_categories() 我编写了一个自定义函数,它以完全相同的方式列出所有分类术语。现在