我正在为WordPress的后端创建自定义元框。
我想添加一个包含多个字段的metabox,在我的例子中是一个图像上传和一个文本输入,但有一个按钮可以复制这两个字段。
我一直在跟踪this tutorial 而且效果很好。
但由于我想复制多个字段(如前所述,媒体上传器和文本输入),因此上述教程并不太适合。仅使用了1个输入文本。
现在,我找到了以下源代码,这在某种程度上符合我的愿望:
https://github.com/tammyhart/Reusable-Custom-WordPress-Meta-Boxes
这使得在一个可重复的字段stop中有多个case成为可能(这就是我想要的),只是代码太过广泛,并且位于PHP类中。现在,我想把这段代码加入到教程的代码中,只需尝试将这段代码用于彼此的多次试用。
现在我想知道是否有人能帮我解决这个问题。到目前为止,我已经尝试了很多事情和工作。
当我看到源代码时,我并不真的需要这段代码,而且会有更多的冗余。
我还尝试了可重复复制/粘贴的简单case,但出现了错误,包括某些变量不存在。(在我看来,这些都是曾经被宣布为无处可去的地狱……)
不幸的是,正如我所说,这些错误是:
Notice: Undefined variable: repeatable_fields in on line 117
Warning: Invalid argument supp song for foreach () in
customers/0/d/a/xxx/httpd.www/wordpress/wp-includes/functions.php on
line 2638
Warning: array_filter () Expects parameter 1 to be array,
null Given in /file/ on line 118
Notice: Uninitialized string offset: 0 in on
line 138
代码可在以下位置查看:
http://snippi.com/s/xpwucxg如何复制多个字段?
SO网友:Oterox
要添加可重复的字段,必须创建一个数组,例如使用文本输入:
array( // Repeatable & Sortable Text inputs
\'label\' => \'Typical Day\', // <label>
\'desc\' => \'\', // description
\'id\' => $prefix.\'repeatable_typical_day\', // field id and name
\'type\' => \'repeatable\', // type of field
\'repeatable_fields\' => array(
array( // Text Input
\'repeatable_label\' => \'Title\', // <label>
\'repeatable_desc\' => \'\', // description
\'repeatable_id\' => $prefix.\'program_act_title\', // field id and name
\'repeatable_type\' => \'text\' // type of field
),
array( // Text Input
\'repeatable_label\' => \'Description\', // <label>
\'repeatable_desc\' => \'\', // description
\'repeatable_id\' => $prefix.\'program_act_desc\', // field id and name
\'repeatable_type\' => \'text\' // type of field
)
)
)
通过这种方式,您可以添加图像、输入文本等。。。
-------编辑--------
Tammy已经更新了代码并修复了问题。最新版本有效。https://github.com/tammyhart/Reusable-Custom-WordPress-Meta-Boxes