如果键为空,为什么获取发布元单参数不起作用

我想使用以下代码获取所有帖子元:

$metas = get_post_meta( $post_id, '', true );

上面的代码将输出一个类似于以下内容的数组:
array( 'sample_key1' => array( [0] => 'value1' ), 'sample_key2' => array( [0] => 'value2' ), 'sample_key3' => array( [0] => 'value3' ) )

而不是
array( 'sample_key1' => 'value1', 'sample_key2' => 'value2', 'sample_key3' => 'value3' )

因此$ single参数是正确的。
当你输入以下特定键时, 它将起作用:
$meta1 = get_post_meta( $post_id, 'sample_meta1' );

将输出类似:
array( [0] => 'value1' )

当$ single参数为true时:
$meta1 = get_post_meta( $post_id, 'sample_meta1', true );

将输出类似:
'value1'

我将不胜感激。
#1使用get_metadata()函数的get_post_meta()函数。并且根据文档get_metadata(), 只有在meta_key存在的情况下, 第三个布尔参数才有效。
【如果键为空,为什么获取发布元单参数不起作用】如果为true, 则仅返回指定meta_key的第一个值。如果未指定meta_key, 则此参数无效。
希望这对你有所帮助。
#2你也可以使用get_post_custom()方法。它返回包含特定帖子或页面的所有自定义字段的多维数组

    推荐阅读