Intereting Posts
Разрешения пользователя для загрузки изображений Создание и загрузка файлов с помощью WP API Как проверить, загружена ли таблица стилей? Как вставить в очередь скрипты по умолчанию с зависимостью? PHP Устарел: нестатический метод не следует называть статическим Автоматическая категория для пользовательского типа сообщения Распаковка двух столбцов для панели инструментов WordPress Добавление страницы меню msox to wordpress plugins Как добавить ссылку на страницу редактирования профиля на панели управления? Использование источника управления с помощью WordPress Измените файл внутри плагина-плагина – правильный путь Как создать короткий код ACF с полем Repeater в WordPress? Новый пользовательский виджет вызывает функцию другого виджета Customizer Selective Refresh не обновляется должным образом с сохраненным значением Проверьте, если на последней странице разбитого на страницу страницы используется wp_link_pages

«save_post» не работает в WP 3.5

Раньше у меня была добавлена ​​дополнительная опция на экране «Редактировать медиа» (с помощью hook_list_to_edit, а затем сохранения с помощью attachment_fields_to_save ). Тем не менее, сегодня я обновил до 3.5, а экран «Редактировать медиа» теперь основан на экране «Редактировать сообщение», поэтому эти перехватчики больше не работают в этом контексте.

Чтобы преодолеть это, я добавил метабокс, используя add_metabox() . Отображается метабокс, но проблема заключается в сохранении данных.

Поскольку функция не работала, как я исходил, я думал, что я буду выводить $_POST чтобы увидеть, что происходит. Однако, похоже, что функция, подключенная к save_post , не запускается при обновлении носителя.

Вот мой код. Может ли кто-нибудь сказать мне, если я собираюсь сделать это неправильно, или, возможно, если есть другой крючок, который я не знаю для этой цели? Благодарю.

 /** Register hooks for creating a metabox on the Edit Media screen and then saving the values */ if(current_user_can('manage_options')) : /** Add the option for including the image in the slideshow on the front page */ add_action('add_meta_boxes', 'add_front_page_slideshow_option'); /** Save the '_include_on_front' data */ add_action('save_post', 'save_front_page_slideshow_option'); endif; /** * Saves values from the 'Include in Front Page Sideshow' meta box when the users Updates the media */ function save_front_page_slideshow_option($post_id){ echo '<pre>'; print_r($_POST); echo '</pre>'; die(); /** Check the security nonce to ensure we have the proper authorisation */ if(!wp_verify_nonce($_POST['slideshow_noncename'], 'include-on-front-nonce')) : return false; endif; /** Ensure that the user has the correct permissions */ if(!current_user_can('edit_post', $post_id)) : return false; endif; /** Check if this is an auto save routine. If it is our form has not been submitted, so we dont want to do anything */ if(defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) : return false; endif; /** Update the '_include_on_front' post meta field */ if($_POST['include_on_front']) : update_post_meta($post_id, '_include_on_front', $_POST['include_on_front']); else : delete_post_meta($post_id, '_include_on_front'); endif; } 

Solutions Collecting From Web of "«save_post» не работает в WP 3.5"

attachment_fields_to_save все еще вызывается.

Просто попробовал это на моем WordPress 3.5. установка и следующий код убил wordpress при сохранении изображения.

 add_filter('attachment_fields_to_save', function() { die('attachment_fields_to_save'); }); 

У меня похожие проблемы. Я думаю, что я сузил проблему до проверки nonce. Кажется, что это не прошлое. Вы уже поняли это? Я считаю, что если я удалю проверку nonce, это сработает. Не уверен, почему это так.