我正在尝试使用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>';
出现的完整部分:
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/