Intereting Posts
сообщение мета удаляется при сохранении Соли WordPress, установленные в конфигурации и базе данных Как использовать максимальные и минимальные значения настраиваемых полей Присоединить собственную галерею к странице Показывать конкретную страницу по основному индексу вместо последнего Как показать подкатегории в категориях еще показывать сообщения Удалить ссылку «Продолжить чтение» Только из раздела «Тизер» Крюк или функция загрузки медиа через URL-адрес Может ли кто-нибудь объяснить функцию третьего параметра «add_rewrite_tag», Свяжите пользователей с настраиваемым типом сообщения Изображения продукта Низкое качество после обновления с WP 3.5 до 4 Показывать только сообщения, которые можно прокомментировать или иметь настраиваемое мета-поле BuddyPress – Как добавить выход в навигационное меню Изменение размера загруженных изображений Список пользовательских сообщений по пользовательской таксономии

Неопределенная ошибка post_type на странице Добавить новую страницу

Я создал мета-окно для страницы, чтобы увидеть следующий код:

add_action('add_meta_boxes', 'add_metaboxes'); function add_metaboxes() { add_meta_box( 'wpt_slider_meta', 'Add Slider Image', 'wpt_slider_meta', 'slider', 'normal', 'default' ); } function wpt_slider_meta() { global $post; wp_nonce_field(plugins_url(__FILE__), 'meta_slider_noncename'); $values = get_post_meta($post->ID, '_meta-slider_img', true); // Some html and scripts to upload image. } add_action( 'save_post', 'save_slider_img' ); function save_slider_img( $post_id ) { if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return; if ( 'slider' == $_POST['post_type'] ) { if ( !current_user_can( 'edit_page', $post_id ) ) return; } else { if ( !current_user_can( 'edit_post', $post_id ) ) return; } if(wp_verify_nonce($_POST['meta_slider_noncename'], plugins_url(__FILE__)) ) { $images = $_POST['meta-slider_img']; update_post_meta( $post_id, '_meta-slider_img', $images ); } } 

У меня есть два предупреждения, когда я нажимаю «Добавить новую страницу»; кроме этого весь код работает нормально.

Notice: Undefined index: post_type in /var/www/html/transport/wp-content/themes/transport/functions.php on line 192

Notice: Undefined index: meta_slider_noncename in /var/www/html/transport/wp-content/themes/transport/functions.php on line 200

Кто-нибудь может помочь?

Solutions Collecting From Web of "Неопределенная ошибка post_type на странице Добавить новую страницу"

save_post вызывается, когда post вставлен или обновлен. Когда вы получаете доступ к новому сообщению, сообщение создается и добавляется в базу данных. Это на самом деле черновик. В то время $_POST пуст, поэтому вы видите предупреждения.

Решение:

Лучшим вариантом является выход из функции, как только вы не найдете nonce . И используйте isset() чтобы проверить, присутствует ли ключ.

Пример:

 function save_slider_img( $post_id ) { if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) { return; } if (!isset($_POST['meta_slider_noncename'])) { return; } if(!wp_verify_nonce($_POST['meta_slider_noncename'], plugins_url(__FILE__))) { return; } if ('slider' == $_POST['post_type'] && current_user_can( 'edit_page', $post_id )) { $images = isset($_POST['meta-slider_img']) ? $_POST['meta-slider_img'] : false; update_post_meta( $post_id, '_meta-slider_img', $images ); } }