Я использую этот блок кода ниже:
function the_slug_exists($post_name) {
global $wpdb;
if($wpdb->get_row("SELECT post_name FROM wp_posts WHERE post_name = '" . $post_name . "'", 'ARRAY_A')) {
return true;
} else {
return false;
}
}
Использование:
if (the_slug_exists($term)) :
echo 'Ok';
endif;
Который, кажется, работает нормально. Я хочу изменить код, чтобы проверить, существует ли какая-либо часть пули. Например слово «школа». Я хочу проверить все страницы WordPress, чтобы увидеть, есть ли на какой-либо странице слово «школа».
Я знаю, что в WordPress также есть функция ‘get_page_by_title’, но я не верю, что она получит что-либо кроме точного заголовка.
измените ваш SQL-запрос на LIKE вместо =
function the_slug_exists($post_name) {
global $wpdb;
if($wpdb->get_row("SELECT post_name FROM wp_posts WHERE post_name LIKE '%" . $post_name . "%'", 'ARRAY_A')) {
return true;
} else {
return false;
}
}
Других решений пока нет …