Intereting Posts
Поиск по идентификатору приложения Как отображать итоговый контент с страницы (не почта) на другой странице Как настроить wp-login.php только для пользователей, которые устанавливают пароль в первый раз? Динамическая переменная для пользовательской таксономии в цикле? Как предоставить все CPT папку автоматически на основе их пули Цикл переадресации SSL с использованием WordPress HTTPS Plugin Разрешить пользователям создавать сообщения без входа? Пропустить в WordPress Post ID, может ли это вызвать проблемы? Как создать фид для настраиваемого шаблона Автоматически назначать родительские условия при выборе дочернего условия Добавить родительский класс в родительские пункты меню Отображать пользовательские поля в отрывке или тизеру Бэкэнд-поиск; включить CPT meta? DB_COLLATE не работает над новой установкой Как получить Rss-каналы с других сайтов

«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, это сработает. Не уверен, почему это так.