0

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

$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 参数为真时:

$meta1 = get_post_meta( $post_id, 'sample_meta1', true );

将输出如下内容:

'value1'

我会很感激我能得到的任何答案。

4

2 回答 2

0

get_post_meta()函数使用函数get_metadata()。根据文档get_metadata(),第三个布尔参数仅在 meta_key 存在时才有效。

如果为 true,则仅返回指定 meta_key 的第一个值。如果未指定 meta_key,则此参数无效。

希望这有助于您理解。

于 2018-11-30T04:42:28.393 回答
0

您也可以使用get_post_custom()方法。它返回一个多维数组,其中包含特定帖子或页面的所有自定义字段

于 2018-11-30T07:09:25.637 回答