Функция post_exists()
в WordPress позволяет проверить, существует ли запись с указанным заголовком, содержимым, датой и типом. Это может быть полезно при создании новых записей или при управлении контентом на вашем сайте.
post_exists( string $title, string $content = ”, string $date = ”, string $type = ”, string $status = ” ): int
post_exists()
проверяет наличие поста в базе данных по его заголовку и (необязательно) содержимому, дате, типу и статусу. Если пост с такими параметрами существует, функция возвращает его ID, иначе возвращает 0.
Параметры
$title
(string): Обязательный параметр. Заголовок поста.$content
(string): Необязательный параметр. Содержимое поста. По умолчанию — пустая строка.$date
(string): Необязательный параметр. Дата поста в формате MySQL. По умолчанию — пустая строка.$type
(string): Необязательный параметр. Тип поста (например, ‘post’, ‘page’, ‘custom_type’). По умолчанию — пустая строка.$status
(string): Необязательный параметр. Статус поста (например, ‘publish’, ‘draft’). По умолчанию — пустая строка.
Возвращаемое значение
int
: ID записи, если она найдена, или 0, если пост не существует.
Пример 1: Проверка существования записи по заголовку
Чтобы проверить, существует ли запись с определённым заголовком, вы можете использовать следующий код:
$title = 'Мой заголовок поста';
$post_id = post_exists($title);
if ($post_id) {
echo "Запись с заголовком '$title' найдена с ID #$post_id.";
} else {
echo "Запись с заголовком '$title' не найдена.";
}
Пример 2: Проверка существования записи с конкретным содержимым
Если вы хотите проверить наличие записи не только по заголовку, но и по содержимому, вы можете использовать следующий код:
$title = 'Мой заголовок поста';
$content = 'Содержимое поста, которое я хочу проверить';
$post_id = post_exists($title, $content);
if ($post_id) {
echo "Запись с заголовком '$title' и указанным содержимым найдена с ID #$post_id.";
} else {
echo "Запись с заголовком '$title' и указанным содержимым не найдена.";
}
Пример 3: Проверка существования записи с типом
Для проверки наличия записи с конкретным типом вы можете передать тип в функцию:
$title = 'Мой заголовок поста';
$post_type = 'news'; // Пример пользовательского типа поста
$post_id = post_exists($title, '', '', $post_type);
if ($post_id) {
echo "Запись с заголовком '$title' и типом '$post_type' найдена с ID #$post_id.";
} else {
echo "Запись с заголовком '$title' и типом '$post_type' не найдена.";
}
Пример 4: Проверка существования записи с датой
Вы можете проверить существование записи, указав дату:
$title = 'Мой заголовок поста';
$date = '2024-10-24 10:00:00'; // Укажите дату в формате MySQL
$post_id = post_exists($title, '', $date);
if ($post_id) {
echo "Запись с заголовком '$title', датой '$date' найдена с ID #$post_id.";
} else {
echo "Запись с заголовком '$title' и датой '$date' не найдена.";
}
Заключение
Функция post_exists()
является полезным инструментом для проверки наличия записей в WordPress. Она позволяет избежать дублирования контента и помогает управлять записями на вашем сайте. Используя эту функцию, вы можете эффективно проверять наличие записей перед их созданием или редактированием.