Как добавить повторяемые метабоксы - PullRequest
0 голосов
/ 08 мая 2020

Я хочу создать мета-блок повторителя без использования каких-либо плагинов. Как я могу реализовать этот вид метабокса в моем коде?

function col_metaboxes()
{
    add_meta_box(
    'theme_column',
    __('Column'),
    array($this, 'theme_col_callback' ),
    array('page', 'post'),
    'normal',
    'high'
    );
 }

 add_action( 'add_meta_boxes', array($this, 'col_metaboxes') );
 add_action( 'save_post', array($this, 'theme_col_save') );

  public function theme_col_callback( $post )
  {
    wp_nonce_field( basename( __FILE__ ), 'theme_col_nonce' );
    $col_title_field_value = get_post_meta( $post->ID );
    ?>
      <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_3_title'][0]; ?>" />
      </p>
    <?php
    $field_value = get_post_meta( $post->ID, '_col', false);
    @wp_editor( $field_value[0], '_col' );
  }

  public function theme_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[ 'theme_col_nonce' ] ) && wp_verify_nonce( $_POST[ 'theme_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, но я заметил, что я не могу извлечь из него галерею изображений. Если возможно, я хочу иметь возможность использовать относительные прикрепленные изображения галереи, если они есть, прикрепленные к метабоксу, а также всю остальную сохраненную информацию.

...