我正在尝试使用Codestar框架metabox选项在组字段中使用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>';


javascript - 所见即所得不适用于group field wordpress codestar框架-LMLPHP

出现的完整部分:

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 - 所见即所得不适用于group field wordpress codestar框架,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53666667/

10-09 02:35