post_exists()
Проверяет существует ли уже запись (пост) с указанным заголовком (post_title). Для проверки, в дополнении к обязательному заголовку можно указать еще: post_content и post_date.
Функция ожидает экранированные значения для всех параметров. Т.е. если вы получаете данные не из POST запроса, то их нужно обработать функцией wp_slash().
Функция работает только в админке, если она нужна во фронте, нужно подключить файл:
require_once ABSPATH . 'wp-admin/includes/post.php';
1 раз — 0.009029 сек (очень медленно) | 50000 раз — 283.06 сек (тормоз) | PHP 7.1.5, WP 4.9
Хуков нет.
Возвращает
int
. ID записи, если она найдена или 0.
Использование
post_exists( $title, $content, $date, $type );
- $title(строка) (обязательный)
- Заголовок записи (post_title). Не путайте с ярлыком (слагом, post_name).
- $content(строка)
- Контент записи для сравнивания.
По умолчанию: '' - $date(строка)
- Дата записи для сравнивания (в MySQL формате).
По умолчанию: '' - $type(строка) (с 5.2.0)
- Тип записи для сравнивания.
По умолчанию: '' - $status(строка) (с 5.8.0)
- Статус поста.
По умолчанию: ''
Примеры
#1 Проверим существует ли запись c указанным заголовком
// require_once ABSPATH . 'wp-admin/includes/post.php'; if( post_exists('Форматы даты и времени в WordPress') ) echo 'Запись с заголовком "Форматы даты и времени в WordPress" существует.';
Заметки
- Global. wpdb. $wpdb WordPress database abstraction object.
Список изменений
С версии 2.0.0 | Введена. |
С версии 5.2.0 | Added the $type parameter. |
С версии 5.8.0 | Added the $status parameter. |