是否可以在添加一个使用CMB2的元框为后端的用户添加一个按钮来点击后,它会生成相同的元类型,就像添加新按钮一样,用户可以添加尽可能多的他/她想要的相同类型的元框。那可能吗?CMB 2'添加新按钮'
1
A
回答
1
这是通过字段类型“group”完成的。虽然这在技术上并不能使整个metabox具有可重复性,但如果将所需的所有字段放入组中,它仍然可以达到您要查找的结果。
基本上,您添加字段组,然后使用组中的每个字段的add_group_field()
函数。你仍然像正常一样设置你的metabox,并添加组字段,然后添加你想要的其他字段。
作为一个例子,我设置了一个带有$cmb_infobox
作为变量的metabox。我组场看起来是这样的:
<?php
$group_field_id = $cmb_infobox->add_field(array(
'id' => $prefix . 'group',
'type' => 'group',
'description' => __('Generates reusable form entries', 'cmb2'),
'options' => array(
'group_title' => __('Info Box {#}', 'cmb2'), // since version 1.1.4, {#} gets replaced by row number
'add_button' => __('Add Info Box', 'cmb2'),
'remove_button' => __('Remove Info Box', 'cmb2'),
'sortable' => true, // beta
// 'closed' => true, // true to have the groups closed by default
),
));
您可以添加要在此组中的任何领域,但它只是看起来有些不同,把事情开始,你只需要是该组中唯一的ID。例如,我可以在该组中使用ID为'content'的WYSIWYG字段,而不会与WordPress编辑器发生任何冲突,或者在另一个组字段中使用该ID。正如你所看到的,还有“添加”按钮文本和“删除”按钮文本的数组值。
这里是我重复的信息框组内一个简单的文本字段:
<?php
$cmb_infobox->add_group_field($group_field_id, array(
'name' => 'Title',
'id' => 'title',
'type' => 'text',
// 'repeatable' => true, // Repeatable fields are supported w/in repeatable groups (for most types)
));
最重要的区别是第一行和ID。其余的值与正常值相同。确保你有正确的起始变量。
要把它带到前端,你最终会使用一个foreach
循环。
这里是我的信息框下降到前端的版本。
<?php
foreach ((array) $entries as $key => $entry) {
// Store field values in variables to use in markup
if (isset($entry['icon'])) {
$icon = esc_html($entry['icon']);
}
if (isset($entry['title'])) {
$title = esc_html($entry['title']);
}
if (isset($entry['content'])) {
$content = esc_html($entry['content']);
}
echo $icon;
echo $title;
echo $content;
}
这基本上是如何文档将告诉你做到这一点,但我总是使用括号与条件。
您可以在CMB2字段类型文档中找到更多关于它的信息。 https://github.com/WebDevStudios/CMB2/wiki/Field-Types#file
在字段类型列表中单击group
,它会将您带到超出它的部分。
相关问题
- 1. 添加新EDITTEXT按下按钮
- 2. 如何在magento 2模块的tiny_mce中添加新按钮?
- 3. 添加按钮
- 4. 的Android:重新按下按钮时动态添加按钮
- 5. 添加按钮新的div点击
- 6. 无法选择新添加按钮
- 7. 使用按钮动态添加新行
- 8. 将按钮添加到新元素
- 9. 向jQuery添加刷新按钮Datatable
- 10. 无法动态添加新按钮
- 11. 单击时添加新组件(按钮)
- 12. 如何向Eclipse IDE添加新按钮
- 13. 当我添加一个新按钮时,旧按钮消失
- 14. 添加TR按钮
- 15. 按钮添加列?
- 16. 添加按钮EntryElement
- 17. 基于按钮值添加类按钮
- 18. 添加自定义按钮的UITabBarController(中间添加按钮)
- 19. 如何在向导页面中添加新按钮并更新按钮名称
- 20. 仅使用FXML设计JavaFX 2按钮 - 如何将图像添加到按钮?
- 21. 在div中添加2个按钮时,只有第二个按钮工作
- 22. 如何使用添加新按钮在w2ui网格中添加新项目?
- 23. Tableview控制器如何添加编辑按钮重新排列行IOS Swift 2
- 24. 将按钮添加到BrowseFragment
- 25. AngularJS添加/使用按钮
- 26. JQGrid添加默认按钮
- 27. JavaFX动态添加按钮
- 28. 将按钮添加到ListActivity
- 29. 添加“报价”按钮,jwysiwyg
- 30. 在UINavigationController上添加按钮
你先生太棒了!谢谢你花时间! – user3768679