Функция wp_is_post_autosave()
используется в WordPress для проверки, является ли указанная запись автосохранением. Это полезно при работе с метабоксами или другими действиями, связанными с обновлением записей, чтобы предотвратить нежелательные изменения или действия на основе автосохранённых версий записи.
wp_is_post_autosave( int|WP_Post $post ): int|false
При редактировании записи в WordPress, система автоматически сохраняет черновики, чтобы предотвратить потерю данных. Эти автосохранённые версии хранятся в таблице wp_posts
и помечаются специальным типом {ID-родительской записи}-autosave-v1
. Функция wp_is_post_autosave()
позволяет проверить, относится ли текущая запись к автосохранённой версии, возвращая ID родительской записи или false
, если запись не является автосохранением.
Параметры
- $post (int|WP_Post) (обязательный) — ID записи или объект поста.
Возвращаемое значение
- int — ID основной записи, если это автосохранение.
- false — если запись не является автосохранением.
Использование
Функция помогает избежать выполнения ненужных операций на автосохранённых версиях записей. Например, при сохранении метаданных, нужно убедиться, что выполняем это на основной записи, а не на автосохранённой.
Пример 1: Проверка автосохранения
$post_id = 45; // ID записи
if ( wp_is_post_autosave( $post_id ) ) {
// Если запись является автосохранением, прекращаем выполнение
return;
}
В этом примере мы проверяем, является ли запись с ID 45 автосохранением. Если функция возвращает значение, отличное от false
, скрипт прекращает выполнение.
Пример 2: Работа с объектом WP_Post
$post_object = get_post( 52 ); // Получаем объект поста
if ( wp_is_post_autosave( $post_object ) ) {
// Действие, если это автосохранённая версия
return;
}
Заключение
Функция wp_is_post_autosave()
необходима для работы с сохранениями и ревизиями в WordPress. Она предотвращает ненужные действия на автосохранённых версиях, тем самым защищая данные от случайных изменений. Применение данной функции особенно полезно в случаях, когда необходимо управлять сохранением метаданных или других данных, связанных с записями.