我正在向Unyson构建器添加Gravity Forms,但问题是构建器仅检测/添加最后一个表单标题/ id。
以下是代码:
if ( ! defined( 'FW' ) ) { die( 'Forbidden' ); } $options = array( 'title' => array( 'type' => 'select', 'value' => 'choice-3', 'attr' => array( 'class' => 'custom-class', 'data-foo' => 'bar' ), 'label' => __('Label', 'fw'), 'desc' => __('Description', 'fw'), 'help' => __('Help tip', 'fw'), 'choices' => array(), ), // title ); // $options $forms = GFAPI::get_forms(); foreach ($forms as $form) { $form_id = $form['id']; $form = GFAPI::get_form( $form_id ); $form_title = $form['title']; $options['title']['choices'] = array( $form_id => __($form_title, 'fw'), ); }
我想填充这些选择'包含所有重力形式标题的数组。
谢谢!
答案 0 :(得分:1)
我明白了。经过多次思考后,我意识到我应该在foreach循环中使用array_push而不是数组。是的,这解决了问题。这是最后的&工作循环:
foreach ($forms as $form) { $form_id = $form['id']; $form = GFAPI::get_form( $form_id ); $form_title = $form['title']; $form_title_value = __($form_title, 'fw'); array_push( $options['title']['choices'], $form_id = $form_title_value ); }
希望这会对某人有所帮助。
array_push()手册:http://php.net/manual/en/function.array-push.php
谢谢!