Вывод записей WordPress без плагина
Приветствую Вас друзья! На этом уроке мы научимся обращаться к базе данных WordPress-а и выводить на сайте нужную нам информацию, в нужном месте и самое главное без участия плагинов. Умение решать простейшие задачи без использования плагинов, например выводить записи WordPress – навык нужный и полезный.
Вывод числа записей на сайте WordPress
Для работы с базой данной у WordPress-а имеется отдельный класс – $wpdb, в котором описаны все его функции (методы). Для решения такой задачи, как вывода количества записей, мы будем использовать метод get_var ().
Выведем некоторое кол-во записей внизу сайта, например в футере. Для этого в файле footer.php пропишем следующий код:
<p>Всего записей: </p>
Обращаемся к методу get_var:
<?php
$wpdb->get_var ("SELECT COUNT(*) FROM $wpdb->posts WHERE post_type='post' AND
post_status='publish'");
?>
Этот метод делает запрос к базе данных и возвращает количество рядов (их число), которое получилось по результатам запроса. Расшифровываем выше написанный код. Делаем выборку числа SELECT COUNT(*) из таблицы FROM wp_post, где WHERE тип записи post и сами посты со статусом опубликованных publish. Обратите внимание, что принято обращаться не напрямую к таблице wp_posts, а через объект $wpdb->posts.
Всю запись в круглых скобках () мы помещаем в переменную, чтобы в дальнейшем ее использовать в работе. Создаем переменную, даем ей осмысленное и уникальное имя, например: $all_count_posts. Запишем теперь код с переменной.
<?php
$all_count_posts = $wpdb->get_var ("SELECT COUNT(*) FROM $wpdb->posts WHERE post_type='post' AND
post_status='publish'");
?>
<p>Всего записей: <b><?=$all_count_posts?></b></p>
Переменная $all_count_posts – результат нашего запроса, который выводим в нужном нам месте. Итак мы получили количество записей, значит наш запрос работает
Вывод популярных записей WordPress
Давайте усложним нашу задачу и выведем только самые популярные записи WordPress-а на основе количества комментарий. Делать мы это будем с помощью метода get_results. Метод get_results делает выборку данных из таблиц WP.
Перед нами стоит задача вывести заголовки популярных статей в виде ссылок в подвале. Для этого открываем footer.php и делаем в нем HTML разметку из списков.
<h2>Популярные посты</h2>
<ul>
<li>- <a href="#"></a></li>
</ul>
Создадим переменную $all_popular_posts и сформируем для нее наш запрос.
<?php
$all_popular_posts = $wpdb->get_results("SELECT post_title, guid, comment_count FROM $wpdb->posts ORDER
BY comment_count DESC LIMIT 3"); //сортировка записей wordpress
?>
Что мы тут написали? Мы выбираем, что будем выводить: заголовки записей, ссылки на них и количество комментариев из таблицы wp_posts. Отсортируем их по количеству комментариев в порядке убывания и выведем только три ссылки.
Получить WordPress записи
Посмотрим, что нам вернет этот запрос.
var_dump($all_popular_posts);
Запрос работает, мы получили популярные записи, нам осталось вывести их в заранее размеченном месте в подвале.
Вывод WordPress записей
<h2>Популярные посты</h2>
<ul>
<?php if($all_popular_posts): ?>
<?php foreach($all_popular_posts as $item): ?>
<li><a href="<?=$item->guid?>"><?=$item->post_title?></a> (<?=$item->comment_count?>)</li>
<?php endforeach; ?>
<?php endif; ?>
</ul>
Если переменная all_popular_posts не пустая, то мы пройдемся в цикле по этому массиву. В тегах li выводим популярные записи WordPress через новую переменную $item, оформляем их как ссылки.
Хотите научиться создавать сайты на WordPress? Тогда обратите внимание на мой видеокурс, где подробно описан весь процесс от создания блога до размещения его в интернете.
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.