Описание edit_post
— Action
Хук edit_post позволяет выполнять действия после редактирования записи. Он срабатывает после того, как запись была обновлена в базе данных, что делает его полезным для выполнения дополнительных операций, таких как обновление метаданных, отправка уведомлений или изменение связанных данных
Примеры использования
Пример добавления метаданных к записи при редактировании:
add_action('edit_post', function($post_ID, $post) {
// Проверяем, что это не автосохранение
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return;
// Добавляем метаданные
update_post_meta($post_ID, 'custom_meta_key', 'custom_value');
});
Этот код добавляет метаданные к записи, когда она редактируется
Пример отправки уведомления при редактировании записи:
add_action('edit_post', function($post_ID, $post) {
// Получаем заголовок записи
$title = $post->post_title;
// Отправляем уведомление
wp_mail('admin@example.com', 'Запись отредактирована', 'Запись с заголовком "$title" была отредактирована');
});
Этот код отправляет уведомление на электронную почту администратора при редактировании записи
Пример изменения статуса записи после редактирования:
add_action('edit_post', function($post_ID, $post) {
// Устанавливаем статус записи в 'draft'
$args = array('ID' => $post_ID, 'post_status' => 'draft');
wp_update_post($args);
});
Этот код изменяет статус записи на черновик после редактирования
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо выполнить дополнительные действия после редактирования записи, например, обновить метаданные или отправить уведомления
– Производительность
Поскольку хук срабатывает после обновления записи, необходимо следить за тем, чтобы выполняемые действия не вызывали значительных задержек
– Предупреждения
Убедитесь, что ваши действия не приводят к бесконечным циклам обновления, например, если вы изменяете статус записи и снова вызываете этот хук
Альтернативы
Тип: action
Этот хук срабатывает при сохранении записи и может быть использован вместо edit_post в случаях, когда требуется выполнить действия как при создании, так и при редактировании
Используйте save_post, если вам нужно обрабатывать как новые записи, так и изменения существующих