Хуки на странице редактирования постов в админке: примеры использования

Хуки на странице редактирования постов в админке

В 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 callback
edit_form_top( $post ) {
?>

Место для хука edit_form_top.

}

// Выполняется после поля для ввода заголовка поста, но перед ссылкой на пост
add_action( 'edit_form_before_permalink', 'callback__edit_form_before_permalink' );
function callback__edit_form_before_permalink( $post ) {
?>

Место для хука edit_form_before_permalink.

}

// Выполняется после поля заголовка поста и постоянной ссылки на пост
add_action( 'edit_form_after_title', 'callback__edit_form_after_title' );
function callback__edit_form_after_title( $post ) {
?>

Место для хука edit_form_after_title.

}

// Выполняется после визуального редактора
add_action( 'edit_form_after_editor', 'callback__edit_form_after_editor' );
function callback__edit_form_after_editor( $post ) {
?>

Место для хука edit_form_after_editor.

}

// Боковая панель - перед метабоксами - страницы
add_action( 'submitpage_box', 'callback__submitpage_box' );
function callback__submitpage_box( $post ) {
?>

Место для хука submitpage_box.

}

// Боковая панель - перед метабоксами - все типы постов, кроме страниц
add_action( 'submitpost_box', 'callback__submitpost_box' );
function callback__submitpost_box( $post ) {
?>

Место для хука submitpost_box.

}

// После всех метабоксов с широкой колонкой, только для страниц
add_action( 'edit_page_form', 'callbackedit_page_form' );
function callback
edit_page_form( $post ) {
?>

Место для хука edit_page_form.

}

// После всех метабоксов с широкой колонкой, для всех типов постов, кроме страниц
add_action( 'edit_form_advanced', 'callbackedit_form_advanced' );
function callback
edit_form_advanced( $post ) {
?>

Место для хука edit_form_advanced.

}

// После всех метабоксов с широкой колонкой и хуков. Это последний хук на странице.
add_action( 'dbx_post_sidebar', 'callbackdbx_post_sidebar' );
function callback
dbx_post_sidebar( $post ) {
?>

Место для хука dbx_post_sidebar.

}

Эти хуки позволят вам добавлять различные элементы к интерфейсу редактирования постов в WordPress. Настройка работы с хуками может сделать работу с контентом более гибкой и удобной. ��дачи в ваших проектах!

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *