Intereting Posts
Создание подменю 3 уровня с помощью класса walker Странная проблема с персонализированными сообщениями Загружать собственный скрипт на одном шаблоне Номера галереи изображений для 3,5 используйте jQuery.load (), чтобы включить php-файл в div, wp_query () является частью файла php Как я могу получить тег <h2> для обертывания каждого предка, который выводится в этом состоянии? Правильный способ использования esc_html__ и esc_attr__ и т. Д. Для экранирования значения для перевода Как сделать выделенные изображения возвращенными функцией the_post_thumbnail () отзывчивыми? WP_User_Query и сообщения пользователей Начать таксономию из пользовательских сообщений Порядок сортировки wp_list_pages по порядку верхнего навигационного меню и дочерний элемент Отображать дочерние страницы настраиваемой родительской страницы типа отправки Обновление цикла Ajax при нажатии Преобразование настраиваемых полей для публикации категорий Можно ли переместить wordpress из webroot?

«Уведомление: неопределенный индекс:« ошибка при добавлении нового контента?

Я получаю следующую ошибку …

Notice: Undefined index: album_tracks_metabox_nonce in /Applications/MAMP/htdocs/TheToasters/wp-content/themes/Toasters/discography-post-type.php on line 124

… всякий раз, когда я пытаюсь добавить новую страницу, пост или пользовательскую запись типа записи. Если я редактирую существующую запись, все работает нормально.

Скриншот ошибки

Ошибка, похоже, связана с nonce для метабокса в настраиваемом типе сообщений «Дискография», который я создал, вот соответствующий код:

 function album_tracks_content( $post ) { wp_nonce_field( 'album_tracks_metabox', 'album_tracks_metabox_nonce' ); $albumTracks = get_post_meta( get_the_ID(), 'album_tracks', true);?> <p>1. <input type="text" id="track1" name="track1" placeholder="Track name" value="<?php echo isset($albumTracks[0]) ? $albumTracks[0] : ''; ?>"></p> <p>2. <input type="text" id="track2" name="track2" placeholder="Track name" value="<?php echo isset($albumTracks[1]) ? $albumTracks[1] : ''; ?>"></p> <?php } // Save Tracks metabox function album_tracks_save( $post_id ) { if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return; if ( !wp_verify_nonce( $_POST['album_tracks_metabox_nonce'], 'album_tracks_metabox' ) ) return; if ( 'page' == $_POST['post_type'] ) { if ( !current_user_can( 'edit_page', $post_id ) ) return; } else { if ( !current_user_can( 'edit_post', $post_id ) ) return; } $albumTracks = array(); if (isset($_POST['track1'])): $albumTracks[] = $_POST['track1']; endif; if (isset($_POST['track2'])): $albumTracks[] = $_POST['track2']; endif; if (!empty($albumTracks)): update_post_meta( $post_id, 'album_tracks', $albumTracks ); endif; } add_action( 'save_post', 'album_tracks_save' ); ?> 

Точная строка 124 такова:

if ( !wp_verify_nonce( $_POST['album_tracks_metabox_nonce'], 'album_tracks_metabox' ) )

Тот, кто написал вашу тему, не стал проверять наличие ключей массива перед их использованием. Ошибка происходит потому, что в album_tracks_metabox_nonce $_POST album_tracks_metabox_nonce .

Строка, вероятно, должна быть:

 if ( !isset($_POST['album_tracks_metabox_nonce']) || !wp_verify_nonce($_POST['album_tracks_metabox_nonce'], 'album_tracks_metabox') ) { // whatever is in the if condition, likely `return` }