GET_POST_META只返回数组

时间:2012-05-24 作者:ultraloveninja

以下是我想做的:

我试图在wordpress中获得一个页面,以便从其他页面的自定义字段中提取数据。因此,当用户创建页面并使用特定的自定义字段(在本例中为multiedit\\u Info)时,它将填充到“target”页面中。

以下是我正在使用的代码:

<?php $item = get_post_meta($post->ID, \'multiedit_Info\', false); ?>
<div id="info-col">
<?php echo $item; ?>
</div>
我目前正在使用一个插件,通过使用自定义字段创建内容块。我想得到它,这样用户就可以用自定义字段创建一个新页面,然后将其显示在另一个页面的数组中。

不太确定我是否正确设置了此选项。这是我第一次使用它,非常感谢您的帮助。谢谢

2 个回复
SO网友:EAMann

设置的第三个参数时get_post_meta()false, 它返回映射到该键的所有值的数组-将此参数设置为true 返回单个值。

因此,您的代码是正确的。如果你这样做,你会得到完全相同的结果:

$test = array( "1", "2", "3" );
echo $test; // prints "Array"
如果要查看数组的内容,需要使用print_r():

$item = get_post_meta( $post->ID, \'multiedit_Info\', false );
echo print_r( $item );
如果你用$test 从上面的示例中,可以看到:

Array
(
    [0] => "1"
    [1] => "2"
    [2] => "3"
)

SO网友:ultraloveninja

好的,我在这里找到了我想要的解决方案:

getting all values for a custom field key (cross-post).

通过使用上述帖子中列出的功能,然后使用以下命令调用我模板中的信息:

<?php $my_info = get_meta_values( \'multiedit_Info\', \'page\' ); ?>

然后在foreach中输出这些值:

<?php foreach ( $my_var as $item) :
echo "<p>$item</p>";
endforeach; ?>
抓取所有使用它们的页面中的所有自定义字段,然后将它们输出到一个页面中。

谢谢你的帮助!

结束

相关推荐