我在page.php中使用什么代码spinet来显示前端的数据。
array(
'id' => $prefix . 'repeat_group',
'type' => 'group',
'description' => __( 'Generates reusable form entries', 'cmb' ),
'options' => array(
'group_title' => __( 'Entry {#}', 'cmb' ), // since version 1.1.4, {#} gets replaced by row number
'add_button' => __( 'Add Another Entry', 'cmb' ),
'remove_button' => __( 'Remove Entry', 'cmb' ),
'sortable' => true, // beta
),
// Fields array works the same, except id's only need to be unique for this group. Prefix is not needed.
'fields' => array(
array(
'name' => 'Entry Title',
'id' => 'title',
'type' => 'text',
// 'repeatable' => true, // Repeatable fields are supported w/in repeatable groups (for most types)
),
array(
'name' => 'Description',
'description' => 'Write a short description for this entry',
'id' => 'description',
'type' => 'textarea_small',
),
array(
'name' => 'Entry Image',
'id' => 'image',
'type' => 'file',
),
array(
'name' => 'Image Caption',
'id' => 'image_caption',
'type' => 'text',
),
),
),
以上代码取自:
https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/wiki/Field-Types#group
我没有找到任何方法将它放在page.php中并在前端页面显示数据。
感谢您的帮助
答案 0 :(得分:0)
我认为在WordPress管理员中使用可重复元变量的最简单方法是使用ACF(http://www.advancedcustomfields.com/)和转发器字段(http://www.advancedcustomfields.com/add-ons/repeater-field/)
它提供了一个非常好的最终产品,它易于使用/实现,它具有良好的支持,并且可以与任何主题/插件捆绑在一起,只要您按照说明进行操作。
答案 1 :(得分:0)
我可以确认您的可重复群组设置与CMB2完美配合(注意一些增强功能),请在Github上查看以获取更多详情。
您提供的链接指的是旧版本的插件,现在名为CMB2,它确实是WordPress的一个很棒的自定义字段插件,您可以像任何普通的插件一样安装和使用它,或者您可以在其中引导它你自己的主题。
您提到您的主题似乎已经有了另一个字段,而不是您要设置的字段,对吧?如果这是真的,这会让我认为您的主题可能需要(包括).php
文件某处负责启动CMB2和自定义字段设置。它也可能发生在您主题的functions.php
文件中。同样,如果是这种情况,放置您提供的代码的正确位置是您需要识别的特定文件,而不是page.php
模板。
当您使用CMB2设置自定义字段和字段组时,您可以定义字段可用的对象类型数组,它可以是页面,帖子,帖子类型甚至是分类术语。
我将在这里引用我自己的用例,以举例说明设置的字段。我使用以下代码显示一组字段,其中包含restaurant_menu
类型的所有帖子的定价选项,但您可以自定义字段提供支持的对象。例如:'object_types' => array( 'page, post, post_type' )
- // -
/**
* Example Repeatable Group - Pricing Options Custom Fields // with Repeatable Fields within the group
*/
$cmb_group = new_cmb2_box( array(
'id' => $prefix . 'example_price_box',
'title' => __( 'Pricing Options', 'mytheme' ),
'object_types' => array( 'restaurant_menu' ),
) );
// Parent
$group_field_id = $cmb_group->add_field( array(
'id' => $prefix . 'example_price_group',
'type' => 'group',
'options' => array(
'group_title' => __( 'Price Box {#}', 'mytheme' ), // translatable
'add_button' => __( 'Add New Price Box', 'mytheme' ),
'remove_button' => __( 'Remove Price Box', 'mytheme' ),
'sortable' => true, // beta
),
) );
// Price Label
$cmb_group->add_group_field( $group_field_id, array(
'name' => __( 'Price Legend', 'pivot'),
'desc' => __( 'Set a short legend for the price. e.g Small, Large, 4 slices, 500g etc.', 'my theme'),
'id' => 'price_title',
'type' => 'text_small',
'repeatable' => true, // Repeatable fields are supported w/in repeatable groups (for most types)
'options' => array( 'add_row_text' => __( 'Add New Legend', 'mytheme' ) ),
) );
// Price Label Description
$cmb_group->add_group_field( $group_field_id, array(
'name' => __( 'Price Description', 'mytheme' ),
'desc' => __( 'A very short description for the price legend.', 'mytheme'),
'id' => 'price_desc',
'type' => 'text_medium',
'after_field' => __( '<p><b>E.g.</b> "Serves up to 4 people", "Made with Premium Cheese" etc.</p>', 'mytheme'),
//'repeatable' => true, // Repeatable fields are supported w/in repeatable groups (for most types)
//'show_in_rest' => true, // expose field to WP REST API / Under CMB2 Development - please check for CMB2 on Github
//'show_in_rest' => array( 'read_and_write', 'write_only' ), true, // expose field to WP REST API using an array of permission types
) );
// Price Amount
$cmb_group->add_group_field( $group_field_id, array(
'name' => __( 'Product Price', 'mytheme' ),
'desc' => __( 'Set the price for the item. Use , to separate decimals.', 'pivot'),
'id' => 'price_tag',
'type' => 'text_money',
'before_field' => '$', // override '$' symbol if needed
//'repeatable' => true, // Repeatable fields are supported w/in repeatable groups (for most types)
) );
至于现在CMB2支持很多字段类型(包括可重复的字段和组),它有几十个第三方添加(扩展)可供选择,其中大部分是完全免费的。维护得很好,设置起来非常简单。我在我的主题上使用它,我甚至不想在短期内更换它。