WordPress — поиск поста, статьи по заголовку
Чтобы найти статьи или пост по заголовку, в WordPress, используйте следующий код:
<?php
$title = "Наш заголовок";
$result = $wpdb->get_results("SELECT ID, post_title FROM $wpdb->posts WHERE post_title = '$title' AND post_type='post'"); ?>
Большинство функций WP не ищут по заголовку, хотя условие указано, что нужно искать по заголовку.
В результате мы можем получить непонятные результаты.
Чтобы решить данный вопрос: обойдем функции WP и сделаем сами, безопасный, запрос к базе данных. Мы используем функции WP для доступа к базе материалов сайта.
Результат вернет массив постов, к примеру:
foreach($result as $post){echo $post->post_title . «<br>»;}
И разберем наш код:
$wpdb->get_results(...);
— переменная функций базы WP, из которой делаем запрос получем результат.
Сам запрос:
SELECT ID, post_title
— выбрать из результатов только ID, post_title
Вы можете указать * чтобы получить все поля материала.
FROM $wpdb->posts
— указываем, откуда брать данные (в данном случае — посты)
WHERE post_title = '$title'
— здесь задаем условие, post_title = наш заголовок
AND post_type='post'
— дополнительное условие, к примеру тип записей — посты
Данная функция — аналог MySQL запроса к базе данных, но более безопасна.
Используйте и изачайте, для создания точных запросов и получению точных результатов.
И кому интересно как дословно читается запрос, то вот перевод:
SELECT(выбрать) ID(id), post_title(заголовок) FROM(из) $wpdb->posts(постов) WHERE(где) post_title(заголовок) = '$title'(искомый текст) AND(и) post_type(тип поста) = 'post'(равен пост)