@ligisayan

Как добавить поля в существующий метабокс на wordpress?

Всем привет!
Есть сайт на wordpress с формой комментирования. Добавляю 2 мета поля job и city

add_action( 'comment_form_logged_in_after', 'extend_comment_custom_fields' );
add_action( 'comment_form_after_fields', 'extend_comment_custom_fields' );
function extend_comment_custom_fields() {

    echo '<p class="comment-form-job">'.
              '<label for="job">' . esc_attr__( 'Ваша профессия','credit7') . '</label>'.
              '<input id="job" name="job" type="text" size="30"/></p>';

    echo '<p class="comment-form-city">'.
              '<label for="city">' . esc_attr__( 'Город проживания','credit7') . '</label>'.
              '<input id="city" name="city" type="text" size="30"/></p>';
}

add_action( 'comment_post', 'save_extend_comment_meta_data' );
function save_extend_comment_meta_data( $comment_id ){

    if( !empty( $_POST['job'] ) ){
        $job = sanitize_text_field($_POST['job']);
        add_comment_meta( $comment_id, 'job', $job );
    }

    if( !empty( $_POST['city'] ) ){
        $city = sanitize_text_field($_POST['city']);
        add_comment_meta( $comment_id, 'city', $city );
    }

}


Теперь мне нужно их вывести в админке. Если добавить так:

add_action( 'add_meta_boxes_comment', 'extend_comment_add_meta_box' );
function extend_comment_add_meta_box(){
    add_meta_box( 'title', __( 'Comment Metadata - Extend Comment' ), 'extend_comment_meta_box', 'comment', 'normal', 'high' );
}

// Отображаем наши поля
function extend_comment_meta_box( $comment ){
    $job  = get_comment_meta( $comment->comment_ID, 'job', true );
    $city  = get_comment_meta( $comment->comment_ID, 'city', true );

    wp_nonce_field( 'extend_comment_update', 'extend_comment_update', false );
    ?>
    <p>
        <label for="job"><?php esc_attr__( 'Ваша профессия','credit7'); ?></label>
        <input type="text" name="job" value="<?php echo esc_attr( $job ); ?>" class="widefat" />
    </p>
    <p>
        <label for="city"><?php esc_attr__( 'Город проживания','credit7'); ?></label>
        <input type="text" name="city" value="<?php echo esc_attr( $city ); ?>" class="widefat" />
    </p>
    <?php
}


То они попадают в отдельный метабокс. А как добавить их в существующий метабокс (на скрине), чтобы они следовали один за одним и не разделялись по блокам?
5f563212e8040877694548.png
  • Вопрос задан
  • 59 просмотров
Пригласить эксперта
Ответы на вопрос 1
xakplant
@xakplant
Автор сайта xakplant.ru
Нужно просто использовать одинаковой id meta-box'аadd_meta_box( ID_META_BOX, ..... );
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы