Хуки на странице редактирования постов в админке
В WordPress существуют хуки, которые позволяют отображать любой контент в определенных местах на странице добавления или редактирования постов. С помощью этих хуков вы можете сделать процесс публикации более удобным. Все зависит от ваших навыков программирования и воображения. Рассмотрим несколько примеров:
- Вставить видео или текст с советами по написанию контента прямо перед визуальным редактором.
- Отобразить изображения, уже прикрепленные к посту, в виде слайдера.
- Показать фотографии из Google по ключевым словам, чтобы вы могли выбрать миниатюру.
- Вывести калькулятор для подсчета калорий, если вы публикуете пост с рецептом.
- И многое другое, что может понадобиться в зависимости от вашей задачи и уровня навыков программирования.
В этой статье описаны хуки, с помощью которых вы можете отображать любой контент. Кроме этих хуков, есть метабокс (мета-панели), которые также помогают расширить возможности страницы редактирования поста.
Карта хуков
Ниже представлена визуальная схема, где и какие хуки используются на странице редактирования постов.
Список хуков отсортирован по расположению (сверху вниз, слева направо) (названия кликабельны):
edit_form_top
— Выполняется перед полем для ввода заголовка поста.edit_form_before_permalink
— Выполняется после поля для ввода заголовка поста, но перед ссылкой на пост.edit_form_after_title
— Выполняется после поля для ввода заголовка и постоянной ссылки на пост.edit_form_after_editor
— Выполняется после визуального редактора.submitpage_box
— (для страниц) Выполняется в боковой панели перед выводом метабоксов.submitpost_box
— (для других типов постов) Выполняется в боковой панели перед выводом метабоксов.edit_page_form
— (для страниц) Выполняется после всех метабоксов с широкой колонкой.edit_form_advanced
— (для других типов постов) Выполняется после всех метабоксов с широкой колонкой.dbx_post_sidebar
— Выполняется после всех метабоксов с широкой колонкой и всех хуков. Это последний хук на странице.
Пример кода со всеми хуками
Для того чтобы использовать эти хуки, вставьте следующий код в файл functions.php
вашей темы или активного плагина. Этот код позволит вам увидеть изменения, показанные на экране в начале статьи.
// Выпол��яется перед полем для ввода заголовка поста
add_action( 'edit_form_top', 'callbackedit_form_top' );
function callbackedit_form_top( $post ) {
?>
}
// Выполняется после поля для ввода заголовка поста, но перед ссылкой на пост
add_action( 'edit_form_before_permalink', 'callback__edit_form_before_permalink' );
function callback__edit_form_before_permalink( $post ) {
?>
}
// Выполняется после поля заголовка поста и постоянной ссылки на пост
add_action( 'edit_form_after_title', 'callback__edit_form_after_title' );
function callback__edit_form_after_title( $post ) {
?>
}
// Выполняется после визуального редактора
add_action( 'edit_form_after_editor', 'callback__edit_form_after_editor' );
function callback__edit_form_after_editor( $post ) {
?>
}
// Боковая панель - перед метабоксами - страницы
add_action( 'submitpage_box', 'callback__submitpage_box' );
function callback__submitpage_box( $post ) {
?>
}
// Боковая панель - перед метабоксами - все типы постов, кроме страниц
add_action( 'submitpost_box', 'callback__submitpost_box' );
function callback__submitpost_box( $post ) {
?>
}
// После всех метабоксов с широкой колонкой, только для страниц
add_action( 'edit_page_form', 'callbackedit_page_form' );
function callbackedit_page_form( $post ) {
?>
}
// После всех метабоксов с широкой колонкой, для всех типов постов, кроме страниц
add_action( 'edit_form_advanced', 'callbackedit_form_advanced' );
function callbackedit_form_advanced( $post ) {
?>
}
// После всех метабоксов с широкой колонкой и хуков. Это последний хук на странице.
add_action( 'dbx_post_sidebar', 'callbackdbx_post_sidebar' );
function callbackdbx_post_sidebar( $post ) {
?>
}
Эти хуки позволят вам добавлять различные элементы к интерфейсу редактирования постов в WordPress. Настройка работы с хуками может сделать работу с контентом более гибкой и удобной. ��дачи в ваших проектах!