tyoma_koder
@tyoma_koder

Почему возникает ошибка "Ответ не является допустимым ответом JSON."?

Этот код в плагине, в файле который добавляет ссылку в админ панели
Ошибка появляется при сохранении поста
Делал по этой инструкции

//добавление доп поля на страницу редактирования записей и страниц
add_action('add_meta_boxes', 'my_extra_fields', 1);
function my_extra_fields() {
    /*
     * id блока в который будет обернута группа полей,
     * заголовок группы полей,
     * Функция, которая выводит на экран HTML содержание блока,
     * Название экрана для которого добавляется блок get_current_screen(),
     * Место где должен показываться блок: normal, advanced или side,
     * Приоритет блока для показа выше или ниже остальных блоков,
     * Аргументы, которые передаются в фунцию вывода HTML
     */
    add_meta_box( 'repeat_extra_fields', 'Повторяющеся поля', 'repeater_extra_fields_html', ['post', 'page'], 'normal', 'high'  );
}
function repeater_extra_fields_html( $post ){
    //print_r($post);
    //add_action( 'save_'.$post->post_type, 'update_repeater_extra_fields', 0 );
    //Доп поле для отзывов
    $reviews_post_id = [79, 21, 16];
    if(in_array($post->ID, $reviews_post_id)){
        ?><div class="repeating-field">
            <h4 class="repeating-field_title">Отзывы</h4>
            <div class="repeating-field_list">
                <div class="item">
                    <input type="text" name="repeat_extra_field[test][]">
                    <div class="delete-item">-</div>
                </div>
            </div>
            <div class="add-item" data-wpeditor data-index="0">+</div>
        </div>
        <input type="hidden" name="extra_fields_nonce" value="<?= wp_create_nonce(__FILE__); ?>" /><?php
    }
}
// включаем обновление полей при сохранении
//add_action( 'save_post', 'update_repeater_extra_fields', 0 );
add_action( 'save_page', 'update_repeater_extra_fields', 0 );
// Сохраняем доп поля, при сохранении поста
function update_repeater_extra_fields( $post_id ){
    // базовая проверка
    if (
        empty( $_POST['repeat_extra_field'] )
        || ! wp_verify_nonce( $_POST['extra_fields_nonce'], __FILE__ )
        || wp_is_post_autosave( $post_id )
        || wp_is_post_revision( $post_id )
    ) {
        return false;
    }
    $_POST['repeat_extra_field'] = array_map( 'sanitize_text_field', $_POST['repeat_extra_field'] ); // чистим все данные от пробелов по краям
    foreach( $_POST['repeat_extra_field'] as $key => $value ) {
        update_post_meta($post_id, $key, $value); // add_post_meta() работает автоматически
    }

    return $post_id;
}
  • Вопрос задан
  • 37 просмотров
Решения вопроса 1
tyoma_koder
@tyoma_koder Автор вопроса
Ошибка была из за закомментированного html
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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