javascript - Wysiwyg 无法在组字段 WordPress Codestar 框架中工作

标签 javascript php wordpress frameworks

我正在尝试使用 Codestar 框架元框选项在组字段中使用 Wysiwyg 编辑器添加一个以上项目,但它不起作用。我试图找出解决方案,但我发现当我重命名下面隐藏部分的类时,它会出现隐藏部分,并且它可以工作,或者编辑器功能仅适用于当前项目。而且当我删除此隐藏部分并保存两个或更多项目时......

隐藏部分:

echo '<div class="cs-group cs-group-'. $el_class .'-adding hidden">';
echo '<h4 class="cs-group-title">'. $acc_title .'</h4>';
echo '<div class="cs-group-content">';

foreach ( $fields as $field ) {
    $field['sub']   = true;
    $unique         = $this->unique .'[_nonce]['. $this->field['id'] .']['. $last_id .']';
    $field_default  = ( isset( $field['default'] ) ) ? $field['default'] : '';
    echo cs_add_element( $field, $field_default, $unique );
}

echo '<div class="cs-element cs-text-right cs-remove">
        <a href="#" class="button cs-warning-primary cs-remove-group">'. 
            esc_html__( 'Remove', 'cs-framework' ) .'</a>
    </div>';

echo '</div>';
echo '</div>';

enter image description here

出现完整部分:

echo '<div class="cs-groups cs-group-'. $el_class .'-addings hiddens">';
echo '<h4 class="cs-group-title">'. $acc_title .'</h4>';
echo '<div class="cs-group-content">';

foreach ( $fields as $field ) {
    $field['sub']   = true;
    $unique         = $this->unique .'[_nonce]['. $this->field['id'] .']['. $last_id .']';
    $field_default  = ( isset( $field['default'] ) ) ? $field['default'] : '';
    echo cs_add_element( $field, $field_default, $unique );
}

echo '<div class="cs-element cs-text-right cs-remove">
        <a href="#" class="button cs-warning-primary cs-remove-group">'. 
        esc_html__( 'Remove', 'cs-framework' ) .'</a>
    </div>';

echo '</div>';
echo '</div>';
echo '<div class="cs-groups cs-accordion">';

if( ! empty( $this->value ) ) {
    foreach ( $this->value as $key => $value ) {
        $title = ( isset( $this->value[$key][$field_id] ) ) ? $this->value[$key][$field_id] : '';

        if('page_type_section' == $field_id) {
            $title = get_the_title($this->value[$key][$field_id]);
        }

        if ( is_array( $title ) && isset( $this->multilang ) ) {
            $lang  = cs_language_defaults();
            $title = $title[$lang['current']];
            $title = is_array( $title ) ? $title[0] : $title;
        }

        $field_title = ( ! empty( $search_id ) ) ? $acc_title : $field_title;

        echo '<div class="cs-group cs-group-'. $el_class .'-'. ( $key + 1 ) .'">';
        echo '<h4 class="cs-group-title">'. $field_title .': '. $title .'</h4>';
        echo '<div class="cs-group-content">';

        foreach ($fields as $field ) {
            $field['sub'] = true;
            $unique = $this->unique . '[' . $this->field['id'] . ']['.$key.']';
            $value  = ( isset( $field['id'] ) && isset( $this->value[$key][$field['id']] ) ) ? $this->value[$key][$field['id']] : '';
            echo cs_add_element( $field, $value, $unique );
        }

        echo '<div class="cs-element cs-text-right cs-remove">
                <a href="#" class="button cs-warning-primary cs-remove-group">'. 
                    esc_html__( 'Remove', 'cs-framework' ) .'</a>
            </div>';
        echo '</div>';
        echo '</div>';
    }
}

echo '</div>';
echo '<a href="#" class="button button-primary cs-add-group">'. $this->field['button_title'] .'</a>';
echo wp_kses_post($this->element_after());

第一个项目可以正常工作,其他项目则无法工作。我也用检查选项检查了它。对于第一项,它正在获取类 ID 或其他内容,但对于其他项,它没有获取或工作。任何帮助...

最佳答案

我解决了。

打开cs-framework/fields/wysiwyg/wysiwyg.php

// Replace
wp_editor( $field_value, $field_id, $settings );

// to with
wp_editor( $field_value, $field_id.rand(0,20), $settings );

关于javascript - Wysiwyg 无法在组字段 WordPress Codestar 框架中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53666667/

相关文章:

javascript - 点击时 highcharts div 调整为最小值和最大值

javascript - Ember.js 新手,我可以渲染除根应用程序模板之外的所有模板

php - PSQL 和 PHP 的连接页面

php - Google Chrome 错误:加载失败,net::ERR_CONTENT_LENGTH_MISMATCH

php - 创建表 mysql

css - Wordpress CSS 未在编辑器中注册

html - 导航底部的间隙

javascript - 通过 jQuery 选择随机 p 节点

javascript - 产生了一个不能被视为 promise 的值(value)

php - 用 CSS 隐藏代码?