Описание функции post_exists()
Функция post_exists() проверяет, существует ли запись с заданным заголовком и содержимым. Она используется для предотвращения дублирования записей при добавлении новых. Это полезно, когда необходимо убедиться, что запись с таким же заголовком уже не создана.
Функция вернет ID существующей записи или false, если запись не найдена.
Параметры
$title
Тип: string
Обязательный: Да
Описание: Заголовок записи, которую нужно проверить на существование
Возможные значения:
$content
Тип: string
Обязательный: Нет
Описание: Содержимое записи для проверки (необязательный параметр)
Возможные значения:
$post_type
Тип: string
Обязательный: Нет
По умолчанию: post
Описание: Тип записи для проверки (по умолчанию ‘post’)
Возможные значения:
0: post
1: page
2: custom_post_type
Возвращаемое значение
Тип: int|false
Описание: ID существующей записи или false, если запись не найдена
Возможные значения:
• ID записи, если она существует
• false если запись не найдена
Примеры использования
Проверка существования записи по заголовку
$post_id = post_exists('Мой новый товар');
if ($post_id) {
echo 'Запись существует с ID: ' . $post_id;
} else {
echo 'Запись не найдена';
}
Выводит ID записи или сообщение о её отсутствии
Проверка существования записи с заголовком и содержимым
$post_id = post_exists('Мой новый товар', 'Описание моего нового товара');
if ($post_id) {
echo 'Запись существует с ID: ' . $post_id;
}
Помогает избежать дублирования записей
Проверка существования несуществующей записи
$post_id = post_exists('Неизвестный товар');
if ($post_id === false) {
echo 'Запись не найдена';
}
Выводит сообщение, если запись не найдена
Проверка перед добавлением новой записи в тему
$title = 'Товар A';
$content = 'Описание товара A';
$post_id = post_exists($title, $content);
if (!$post_id) {
// Код для добавления новой записи
save_post($title, $content);
}
Обеспечивает уникальность записей
Безопасность
Валидация входных данных: Заголовок и содержимое проверяются на валидность
Санитизация: WordPress автоматически очищает входные параметры
Рекомендации: При выводе данных используйте esc_html() для защиты от XSS
— Связанные функции
Добавляет новую запись в базу данных
Получает список записей по параметрам
— Примечания
– Ограничения
Проверка основана на заголовке и содержимом, возможно дублирование при схожих данных
– Частые проблемы
- Не возвращает ID при неверном заголовке
- Не учитывает записи с одинаковым заголовком и содержимым