Php 使用ACF或JQuery的visual composer元素中的Repeater字段

Php 使用ACF或JQuery的visual composer元素中的Repeater字段,php,jquery,wordpress,advanced-custom-fields,Php,Jquery,Wordpress,Advanced Custom Fields,我正在尝试创建一个重复字段,以便能够在VisualComposer元素插件中添加更多必需的文本字段,但不确定如何添加,或者是否可能。我需要它能够添加用户可能需要的更多文本字段 下面的代码添加了一个文本字段,但我不知道如何创建它,以便用户可以添加他们需要的字段。该插件将允许用户添加电子邮件、电话、姓名、社交媒体和更多他们需要的项目 这是visual composer将加载的自定义字段,可以添加自定义构建字段 array( "type" => "my_param",

我正在尝试创建一个重复字段,以便能够在VisualComposer元素插件中添加更多必需的文本字段,但不确定如何添加,或者是否可能。我需要它能够添加用户可能需要的更多文本字段

下面的代码添加了一个文本字段,但我不知道如何创建它,以便用户可以添加他们需要的字段。该插件将允许用户添加电子邮件、电话、姓名、社交媒体和更多他们需要的项目

这是visual composer将加载的自定义字段,可以添加自定义构建字段

array(
            "type" => "my_param",
            "holder" => "div",
            "class" => "",
            "heading" => __("Flipping text", "js_composer"),
            "param_name" => "fliping_text",
            "value" => '',
            "description" => __( "Enter text and flip it", 'my-text-domain' ),
     )
在VisualComposer中,我的自定义字段与此类似,但具有正确的设置

    // repeat fields
add_shortcode_param( 'my_param', 'my_param_settings_field', plugin_dir_url( __FILE__ ).'vc_extend/js/elements/elements.js' );
function my_param_settings_field( $settings, $value ) {
   return '<div class="my_param_block">'
             .'<input name="' . esc_attr( $settings['param_name'] ) . '" class="wpb_vc_param_value wpb-textinput ' .
             esc_attr( $settings['param_name'] ) . ' ' .
             esc_attr( $settings['type'] ) . '_field" type="text" value="' . esc_attr( $value ) . '" />'
         .'</div>'
         .'<button class="flip-input-text">Flip</button>'; // New button element
}
//重复字段
添加快捷码参数(“我的参数”、“我的参数设置”字段、“插件目录”url(“文件”)。“vc_扩展/js/elements/elements.js”);
函数my_param_settings_字段($settings,$value){
返回“”
.''
.''
.“翻转”;//新按钮元素
}
下面是使用jQuery指向repeater字段的链接


我不确定新字段是如何存储的,或者是否存储为my_param的数组。如果要再次编辑元素,visual composer创建的数组可能不会加载所有字段。

如果允许用户创建任意数量的文本字段,可以这样解决。假设您创建了一个包含以下行的Repeater字段:

标题-组-说明

然后,您可以使用以下代码注册文本字段:

<?php

// check if the repeater field has rows of data
if( have_rows('repeater_textfields') ):

    // loop through the rows of data
    while ( have_rows('repeater_textfields') ) : the_row();

    // store sub fields in variables
    $heading = the_sub_field('textfields_heading');
    $group = the_sub_field('textfields_group');
    $description = the_sub_field('textfields_description');

    // build the array
    $params = 
        array(
            "type" => "textfield",
            "holder" => "div",
            "class" => "",
            "heading" => __( $heading, "my-text-domain" ),
            "param_name" => "foo",
            "group" => __( $group, 'my-text-domain' ),
            "value" => __( "Default value.", "my-text-domain" ),
            "description" => __( $description, "my-text-domain" )
        );

    // register the textfield
    vc_map( $params );

    endwhile;

endif;

?>


当然,您的转发器名称和转发器子字段必须进行编辑,以与您正在使用的字段相匹配。

谢谢,在做了几个小时的研究之后,我想我可能已经得到了所需的错误信息。我正在编辑上面的代码,以便提供更多信息。