Fieldmanager Wordpress插件

时间:2015-03-04 14:25:25

标签: wordpress fieldmanager

我需要找到一种方法来显示保存在自定义元框中的值。 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' ) );
 } );

你可以看到这实际上是一个里面有重复字段的重复组。我需要显示这些组中的元值。

感谢。

1 个答案:

答案 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