我需要找到一种方法来显示保存在自定义元框中的值。 Meta Boxes是使用WP Fieldmanager插件创建的。 以下是用于在后管理员中显示字段的代码:
add_action( 'init', function() {
$fm = new Fieldmanager_Group( array(
'name' => 'sidebar',
'limit' => 0,
'label' => 'Sidebar Section',
'label_macro' => array( 'Section: %s', 'name' ),
'add_more_label' => 'Add another Sidebar Section',
'children' => array(
'name' => new Fieldmanager_Textfield( 'Section Heading' ),
'item' => new Fieldmanager_Textfield( 'Item', array(
'limit' => 0,
'one_label_per_item' => true,
'add_more_label' => 'Add another Item',
) ),
),
)
);
$fm->add_meta_box( 'Sidebar', array( 'post' ) );
} );
你可以看到这实际上是一个里面有重复字段的重复组。我需要显示这些组中的元值。
感谢。
答案 0 :(得分:0)
你必须使用foreach()来获取内容:
$repeating_fields = get_post_meta( get_the_ID(), 'sidebar', true); //name of your custom field;
foreach ($repeating_fields as $repeating_field) {
print_r($repeating_field[name]); //use here the name given to your children in array to select the correct one;
}
从这里你知道如何安排一个foreach循环你应该是好的。
如果您想将元数据内容作为数组获取,可以这样做:
$repeating_fields = get_post_meta( get_the_ID(), 'sidebar', true);
$name = array(); //define the variable as an array from the start;
foreach ($repeating_fields as $repeating_field) { //start the loop
$name[] = $repeating_field[name]; //get the array content from the meta box
}
echo $name; //echo the array or parts of it