Intereting Posts
Можно ли подключить AJAX к UPDATE-кнопке? Проверьте, является ли пользователь администратором по ID пользователя Включите красивые шаблоны WooCommerce 2 на всех страницах сайта Когда название и название категории одинаковы … WP выберет archive.php вместо single.php Есть ли способ создать мета-поле, которое можно добавить несколько раз к сообщению динамически? meta_query не сравнивается с значениями, содержащими апострофы Как я могу получить доступ к ответу заголовка и ajax от остального API API JSON Data в WordPress Действие wp_login_failed не работает, если заполнено только одно поле cookie free subdomain и @ font-face Проблема с wp_insert_post () Только импорт сообщений – последствия? Изменение размера изображения – TimThumb vs convert on upload? Лучший способ выполнения настраиваемых запросов на mysql для каждой страницы Настройка WordPress с помощью пользовательских постоянных ссылок и файла .htaccess?

как ограничить правку edit_form_after_title на странице и опубликовать только редактирование?

heelo, я хочу использовать этот отличный hook edit_form_after_title

было объявлено 1 декабря 2012 года:
http://make.wordpress.org/core/2012/12/01/more-hooks-on-the-edit-screen/

это curreclty hook для: post-new, post, page-new, page.

как я могу заставить его работать только на странице редактирования / публикации ( только сообщение, страница )

Спасибо всем

Лично я бы использовал другой подход, потому что решение @Shazzad кажется слишком зависимым от глобального, а для @s_ha_dum нужны 2 крючка вместо одного.

Я бы использовал функцию get_current_screen для получения объекта WP_Screen , затем я бы посмотрел на его свойство, чтобы запустить (или не) что-то после заголовка:

 function do_something_after_title() { $scr = get_current_screen(); if ( ( $scr->base !== 'post' && $scr->base !== 'page' ) || $scr->action === 'add' ) return; echo '<h2>After title only for post or page edit screen</h2>'; } add_action( 'edit_form_after_title', 'do_something_after_title' ); 

Не знаю, были ли какие-либо изменения в течение времени, прошедшего с исходного вопроса, но с 4.0 вы получаете сообщение в качестве параметра на крючок, и все, что нужно сделать, это проверить тип сообщения. Если вам интересно, что происходит при создании нового сообщения, ответ заключается в том, что WordPress генерирует фиктивный пост, если тип сообщения установлен на правильный тип.

 function do_something_after_title( $post ) { if( 'post' !== $post->post_type && 'page' !== $post->post_type ) { return; } echo '<h2>After title only for post or page edit screen</h2>'; } add_action( 'edit_form_after_title', 'do_something_after_title' ); 

Проверьте тип сообщения, используя $typenow и $pagenow .

 add_action( 'edit_form_after_title', 'myprefix_edit_form_after_title' ); function myprefix_edit_form_after_title() { global $typenow, $pagenow; if( in_array($typenow, array('post', 'page') ) && $pagenow == 'post.php' ) { echo '<h2>This is edit_form_after_title!</h2>'; } }