Мне нужно создать несколько повторяющихся полей для пользовательского метабокса. Я пытаюсь с этим кодом, но он не будет работать, как я могу добавить несколько редакторов без необходимости регистрировать метабокс для каждого нужного мне wp_editor?
public function uptheme_first_col_callback( $post )
{
wp_nonce_field( basename( __FILE__ ), 'col_nonce' );
$col_title_field_value = get_post_meta( $post->ID );
?>
<p>
<a class="" id="add-column" href="#"><?php _e('Aggiungi colonna'); ?></a>
</p>
<p>
<input type="text" class="widefat" name="col_title" id="meta-text" placeholder="<?php _e('Aggiungi Titolo'); ?>" value="<?php if( isset($col_title_field_value['_col_title']) ) echo $col_title_field_value['_col_title'][0]; ?>" />
</p>
<?php
$field_value = get_post_meta( $post->ID, '_col', false );
@wp_editor( $field_value[0], '_col' );
?>
<script>
(function($){
var countEditors = 0;
$('#add-column').on('click', (e) => {
e.preventDefault();
var editorId = 'editor-' + countEditors;
// add editor in HTML as <textarea> with id editorId
// give it class wp-editor
wp.editor.initialize(editorId, true);
countEditors++;
});
}(jQuery));
</script>
<?php
}
public function col_save( $post_id ) {
// Checks save status
$is_autosave = wp_is_post_autosave( $post_id );
$is_revision = wp_is_post_revision( $post_id );
$is_valid_nonce = ( isset( $_POST[ 'col_nonce' ] ) && wp_verify_nonce( $_POST[ 'col_nonce' ], basename( __FILE__ ) ) ) ? 'true' : 'false';
// Exits script depending on save status
if ( $is_autosave || $is_revision || !$is_valid_nonce ) {
return;
}
// Checks for input and sanitizes/saves if needed
if( isset( $_POST['_col'] ) ) {
update_post_meta( $post_id, '_col', $_POST[ '_col' ] );
}
if( isset( $_POST['col_title'] ) ) {
update_post_meta( $post_id, '_col_title', $_POST[ 'col_title' ] );
}
}
Я хочу, чтобы при нажатии кнопки, поле заголовка и редактор tinyMCE добавляются в метабокс, поэтому я могу иметь несколько столбцов для управления содержимым сообщений и страниц.