Intereting Posts
Использование WP_Query в «parse_query» или «pre_get_post» в Posts2Posts Как получить URL-адрес изображения из медиа-библиотеки Обновление пользовательского поля сообщения Ajax на кэшированном сайте Получить текущий_пост в обратном порядке с разбивкой на страницы Изменение ограничения имени пользователя с четырех до менее символов Почему я не могу войти в систему после перехода на www? Резервное копирование другой базы данных с помощью плагина BackUpWordPress register_taxonomy с несколькими типами объектов и update_count_callback Как настроить подкатегории для страниц авторов? Категория фильтра на странице магазина WooCommerce для отображения связанной подкатегории Где подключить действие моего плагина Как присоединить идентификатор региона к хорошему URL-адресу? Запрос var удален после перезаписи Сообщения категории отображаются в локальной установке, они не отображаются на живом сервере Изменить перенаправление сроков обновления

Проверка наличия страницы по названию?

В настоящее время я работаю над плагином, и я действительно хочу проверить, была ли создана определенная страница.

По сути, я хочу сделать что-то вроде этого:

if (file_exists($file)) { $exists = true; } else { $exists = false; } 

Но я просто хочу сделать это, чтобы вместо этого проверять значение post_name. (Если бы я был еще в состоянии обеспечить, чтобы сообщение было страницей, а не просто записью с этим названием, это тоже было бы здорово).

Как мне это сделать?

Я получил сценарий, чтобы захватить заголовки с URL-адреса сообщения, и если он вернет 404, чтобы вернуть $ exists = false, но я точно указал на проблему с утечкой памяти, и я не думаю, что это очень эффективно ,

Использование get_page_by_title() вдоль строки ниже примерного кода должно работать:

 if ( get_page_by_title( $page_title, $output, $post_type ) == NULL ) { $exists = false; } else { $exists = true; } 

Объяснение:

  • $page_title – это то, что вы ищете;
  • $output может быть OBJECT, ARRAY_N или ARRAY – По умолчанию: OBJECT;
  • $post_type может быть указан, в вашем случае его не нужно, поскольку значением по умолчанию является page ;
  • Возвращает NULL если не найдено ни одного сообщения с заголовком;
  • Для внутренней логики взгляните на источник .