Приветствую Вас друзья! На этом уроке мы научимся обращаться к базе данных WordPress -а и выводить на сайте нужную нам информацию, в нужном месте и самое главное без участия плагинов. Умение решать простейшие задачи без использования плагинов, например выводить записи WordPress – навык нужный и полезный.
Вывод числа записей на сайте WordPress
Для работы с базой данной у WordPress -а имеется отдельный класс – $wpdb , в котором описаны все его функции (методы). Для решения такой задачи, как вывода количества записей, мы будем использовать метод get_var () .
Выведем некоторое кол-во записей внизу сайта, например в футере. Для этого в файле footer.php пропишем следующий код:
Всего записей:
Обращаемся к методу get_var:
$wpdb->get_var ("SELECT COUNT(*) FROM $wpdb->
post_status="publish"");
?>
Этот метод делает запрос к базе данных и возвращает количество рядов (их число), которое получилось по результатам запроса. Расшифровываем выше написанный код. Делаем выборку числа SELECT COUNT(*) из таблицы FROM wp_post , где WHERE тип записи post и сами посты со статусом опубликованных publish . Обратите внимание, что принято обращаться не напрямую к таблице wp_posts , а через объект $wpdb->posts .
Всю запись в круглых скобках () мы помещаем в переменную, чтобы в дальнейшем ее использовать в работе. Создаем переменную, даем ей осмысленное и уникальное имя, например: $all_count_posts . Запишем теперь код с переменной.
$all_count_posts = $wpdb->get_var ("SELECT COUNT(*) FROM $wpdb->posts WHERE post_type="post" AND
post_status="publish"");
?>
Всего записей: =$all_count_posts?>
Переменная $all_count_posts – результат нашего запроса, который выводим в нужном нам месте. Итак мы получили количество записей, значит наш запрос работает
Вывод популярных записей WordPress
Давайте усложним нашу задачу и выведем только самые популярные записи WordPress -а на основе количества комментарий. Делать мы это будем с помощью метода get_results . Метод get_results делает выборку данных из таблиц WP .
Перед нами стоит задача вывести заголовки популярных статей в виде ссылок в подвале. Для этого открываем footer.php и делаем в нем HTML разметку из списков.
Популярные посты
Создадим переменную $all_popular_posts и сформируем для нее наш запрос.
$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 записей
Популярные посты
- guid?>">=$item->post_title?> (=$item->comment_count?>)
Если переменная all_popular_posts не пустая , то мы пройдемся в цикле по этому массиву. В тегах li выводим популярные записи WordPress через новую переменную $item , оформляем их как ссылки.
Хотите научиться создавать сайты на WordPress ? Тогда обратите внимание на , где подробно описан весь процесс от создания блога до размещения его в интернете.
Про вывод популярных постов в вордпресс я уже рассказывал пару раз. Помнится, на Tod’s Blog был пост про плагин WP-PostViews , который, правда, многие недолюбливают за нагрузку на хостинг. Еще один позволяет добавить элементы для голосования пользователями.
Пришло время написать более актуальную заметку — многие плагины с тех под обновились или наоборот перестали поддерживаться. Поэтому встречайте новую подборку для вывода популярных постов в вордпресс. Всего отобрал 5 плагинов. Конечно, их имеется намного больше, но я выбрал наиболее скачиваемые и актуальные.
Плагин по описанию наиболее простой, как и принцип его работы. Не смотря на рейтинг в 3.8 пунктов скачали его достаточно много раз — более 190 тысяч. Последняя на данный момент версия 2.6.2. поддерживает wordpress от 3.0 до 3.5.2.
Процесс установки плагина Easy Popular Posts традиционный. Вы можете использовать его в блоге через одноименный виджет либо, добавляя функцию в шаблон, либо через шорткод разместить в посте. Шорткод:
Виджет найдете в соответствующем пункте меню блога. В нем есть некоторые настройки: заголовок, число постов, порядок сортировки, использование ссылки, картинки, анонса.
На странице описания плагина в разделе FAQ имеются параметры для функции thisismyurl_easy_popular_posts, позволяющие сделать то же самое.
— чуть более продвинутый плагин. Скачиваний еще больше — около 620 тысяч раз, оценка 4.1. Поддерживается версия вордпресс от 3.3 до 3.6.1. Использовал его на одном из блогов — отличное решение.
Основные особенности WordPress Popular Posts:
- Поддержка нескольких виджетов данного типа в одном блоге.
- Временные рамки для популярных постов — сутки, 7 дней, 30 дней и т.п.
- Поддержка произвольных типов записей.
- Отображение миниатюр, а также возможность определить свое HTML оформление блоку.
- Статистика в админке.
- Использование шорткодов — .
- Поддержка и совместимость с плагином WP-PostRatings.
Добавлять список популярных постов можно через виджет, где, кстати, есть ну, очень много разных параметров настройки.
Плагин отображает самые популярные посты по комментариям и просмотрам в специальном виджете с табами. Есть возможность фильтрации результатов по дате или категории.
Основные фишки плагина Popular Widget:
- Период популярных постов (по умолчанию год).
- Поддержка анонса постов, миниатюр.
- Отображение последних комментариев.
- Подсчет числа просмотров.
- Фильтр по категории и много других опций.
Выглядит плагин Popular Widget вполне неплохо:
Скачиваний 53 тысячи, поддерживаются версии вордпресс от 3.0 до 3.6.1. Средняя оценка 4.3. В принципе, плагин оставляется положительное впечатление.
Еще один плагин популярных постов — . Версия 1.13 (последняя на момент написания статьи) поддерживает вордпресс от 3.2 до 3.5.2, более 12тыс. загрузок. Для отображения популярных постов можете использовать виджет.
Основные опции Popularity Posts Widget:
- Временные рамки: популярные за сегодня, 7 дней, 30 дней и все время.
- Гибкие настройки отображения: количество, статистика, длина текста для списка.
- Поддержка миниатюр.
- Фильтр по категориям.
- Легкая модификация CSS стилей.
- Поддержка шорткодов .
В принципе, данный плагин Popularity Posts Widget достаточно сильно похож на предыдущей. Хотя в том есть табы, а здесь нет. Выбирайте модуль исходя из своей задачи.
Top 10
Последний в подборке плагин — Top 10 . Он подсчитывает количество просмотров постов и страниц в вордпресс, а затем выводит результаты в сайдбаре. После установки модуля в админ панели найдете много параметров.
Основные возможности Top 10:
- Поддержка пользовательских типов записей.
- Наличие виджета, настаиваемый вывод списка.
- Поддержка миниатюр, отображение числа просмотров.
- Исключение постов или категорий из списка.
- Грамотное удаление плагина с очисткой всех таблиц базы данных.
- Совместимость с : WP-Super-Cache, W3 Total Cache или Quick Cache.
Вот и все. В качестве вывода повторюсь, что выбор того или иного плагина популярных постов зависит от стоящей перед вами задачи. Есть решения попроще, есть посложнее с фильтрами по категориям и другими настройками.
Здравствуйте, дорогие читатели блога. Сегодня мы с Вами узнаем как выводить список самых популярных записей на , а самое главное, что эти записи будут с миниатюрами. Естественно мы не будем использовать никакие плагины. Всего лишь несколько строчек php кода и стилей CSS.
Хочется сказать, что такой список, как оказывается, делается очень просто. Но немного нагружает сервер. Хотя если не выводить более 5 записей, то нагрузки практически нет.
Список популярных записей будет сортироваться по количеству комментариев к записи. Получается чем больше комментариев в записи тем она популярнее и будет выводиться самая первая в списке.
Ну а теперь давайте приступать.
Список самых популярных записей с миниатюрами на WordPress без плагинов
PHP код записей
Как я уже говорил выше, что здесь ничего сложного нет. Данный спсиок выводится с помощью WP_Query, с совершенно не сложными и не большими настройками. Таким образом вот как будет выглядеть эта строчка:
have_posts()) : $pc->the_post(); ?>
И после это остаётся добавить только переменные названия поста, а так же его миниатюру:
" title=""> " title="">
Таким образом вот, что у нас получилось:
-
have_posts()) : $pc->the_post(); ?>
- " title=""> " title="">
Здесь Вы сможете изменять количество выводимых записей, меняется оно здесь posts_per_page=5, в данном случае постов будет 5.
Вот видите как всё просто:-) Но это ещё не всё. Теперь нужно не много украсить список. Пример Вы сможете посмотреть у меня на блоге в сайдбаре.
Украшаем список с помощью CSS.
Для начала нам нужно придумать какой нибудь класс, например popular. И теперь для этого класса зададим вот такие настройки:
Popular ul li{ line-height:16px; display:block; border-bottom:1px solid #e9e9e9; padding:15px 0px 20px 0px; height:50px; font-size:12px; }
Как видите что мы ещё задали настройки для списков ul li, в которые будут окружены наши популярные посты. Здесь я добавил линию, которая отделяет список, затем задал отступы, которые Вы сможете изменить под себя.
Теперь давайте зададим настройки для наших миниатюр.
Popular ul li img { width: 50px; height: 50px; border:1px solid #ccc; background:#fff; padding:2px; float:left; margin:0 10px 0 0px; -moz-box-shadow: 0 0 10px rgba(0,0,0,0.2); /* Для Firefox */ -webkit-box-shadow: 0 0 10px rgba(0,0,0,0.2); /* Для Safari и Chrome */ box-shadow: 2px 2px 2px rgba(0,0,0,0.1); /* Параметры тени */ -moz-transition: border 0.3s 0.05s ease; -o-transition: border 0.3s 0.05s ease; -webkit-transition: border 0.3s 0.05s ease; } .popular li img:hover { border:1px solid #888; }
Здесь для миниатюр заданы рамки, которая при наведении плавно темнеет. Это сделано с помощью transition и.popular li img:hover. Так же добавлена не большая тень для изображений, так смотрится более красиво чем без неё. Ещё по умолчанию задан размер в 50 на 50 пикселей. Естественно это значение Вы можете с лёгкостью менять.
Теперь давайте посмотрим как это будет выглядеть в , а также узнаем куда данный код вставлять.
Куда вставлять код в WordPress?
В админке Вашего блога нужно зайти в редактор, затем находим Боковая колонка (sidebar.php) и в желаемое место вставляем следующее:
-
have_posts()) : $pc->the_post(); ?>
- " title=""> " title="">
Popular ul li{ line-height:16px; display:block; border-bottom:1px solid #e9e9e9; padding:15px 0px 20px 0px; height:50px; font-size:12px; } .popular ul li img { width: 50px; height: 50px; border:1px solid #ccc; background:#fff; padding:2px; float:left; margin:0 10px 0 0px; -moz-box-shadow: 0 0 10px rgba(0,0,0,0.2); /* Для Firefox */ -webkit-box-shadow: 0 0 10px rgba(0,0,0,0.2); /* Для Safari и Chrome */ box-shadow: 2px 2px 2px rgba(0,0,0,0.1); /* Параметры тени */ -moz-transition: border 0.3s 0.05s ease; -o-transition: border 0.3s 0.05s ease; -webkit-transition: border 0.3s 0.05s ease; } .popular li img:hover { border:1px solid #888; }
Вот и всё, теперь в Вашем сайдбаре отображаются популярные записи с миниатюрами:-) Друзья, если возникнут какие либо вопросы спрашивайте в комментариях, до скорых встреч.
Вывод популярных записей где-нибудь на видном месте сайта используется чаще всего для двух целей:
- Очевидная цель – привлечь внимание читателя и задержать его на сайте подольше интересной информацией;
- Менее явный эффект – вывод ссылок на популярные страницы на главной странице передает им определенный вес и повышает позиции этих страниц в поисковых системах по ключевым для этих страниц запросам.
Без плагинов такую возможность не получится сделать (если только такого функционала нет в вашем шаблоне, что иногда бывает), поскольку в настоящий момент в Вордпресс нет стандартной поддержки учета популярных записей. Я чаще всего для этих целей использую очень удобный плагин .
Плагин обладает всеми необходимыми мне характеристиками:
- возможность указания диапазона дат для определения популярности;
- вывод миниатюры, в том числе и первой картинки в посте;
- вывод популярных записей как в форме виджета, так и в виде функции с гибкими параметрами.
Настройка WordPress Popular Posts
Рассмотрим процесс настройки и вывода самых читаемых записей на вашем сайте.
Затем переходим в виджеты и перетаскиваем виджет WordPress Popular Posts из неактивных в область сайдбара вашего сайта.
Раскрываем стрелкой виджет и настраиваем его по вашему вкусу.
Title – название блока, отображаемое на сайте.
Show up to – количество выводимых записей.
Sort posts by – сортировать по числу комментариев (Comments) и просмотров всего (Total views) или по среднему числу просмотров в день (Avg. daily views).
Time Range – устанавливаем, за какой период времени выводить записи: день, неделю, месяц, за всё время.
Post type(s) – какие виды записей отображать: post (посты), page (страницы).
Post(s) ID(s) to exclude – страницы для исключения.
Category(ies) ID(s) – категории для включения (в этом случае указываем их id), либо для исключения (в этом случае указываем их id со знаком ‘-‘).
Author(s) ID(s) – настраивается аналогично предыдущему пункту.
Shorten title – обрезает заголовок до указанной длины.
Display post excerpt – выводит анонс указанной длины.
Display post thumbnail – выводит картинку слева от записи (по умолчанию); при выборе появятся дополнительные настройки для указания ширины и высоты картинки.
Display comment count – выводит количество комментариев у записи.
Display views – выводит количество показов.
Display author – отображает автора поста.
Display date – отображает дату поста.
Display category – отображает категорию.
После выполнения настроек нажимаем кнопку “Сохранить” и смотрим на работу нашего сайта – в сайдбаре должен появится блок “Популярные записи”, однако, чтобы в нем что-то начало отображаться плагину нужно небольшое время для набора статистики.
На этом можно было бы и закончить, но еще заглянем в настройки самого плагина. Для этого перейдем в меню “Настройки – WordPress Popular Posts”.
Там рассмотрим некоторые основные настройки.
В разделе Tools можно указать, какую плагину выводить картинку. В Default thumbnail можете указать картинку, которая будет показана по умолчанию, если у записи нет никакой картинки.
Pick image from – какую плагину брать картинку для отображения: featured image – миниатюру, first image on post – первую картинку из записи, custom field – из пользовательского поля.
Далее рассмотрим раздел Parameters.
Как мы видим здесь указано название функции – wpp_get_most_popular(), которую вы можете использовать в любом месте вашего сайта, если не хотите использовать виджет. А ниже в разделе описаны многочисленные параметры этой функции.
Вывод популярных записей для рубрики
Данный плагин на момент написания данной статьи не имеет возможности вывода самых читаемых постов для рубрики. Однако с его помощью можно сделать это, по крайней мере, двумя способами. Например, вам нужно вывести виджет в боковой колонке.
С помощью плагина
Для этого добавляем виджеты плагина WPP в боковую колонку в количестве, равном количеству рубрик у вас на сайте (или меньшем количестве, если популярные записи нужно выводить не для всех категорий). Для каждого случая указываем свою рубрику в поле Category ID. В настройках плагина Conditional Widgets указываем, что виджет должен отображаться только в рубрике, которую вы указали в поле настроек.
Таким образом каждый виджет будет отображаться только 1 раз в одной конкретной рубрике и отображать только записи из этой рубрики.
С помощью php скрипта
Если первый способ по каким то причинам не подходит, то можно сделать то же самое с помощью php скрипта. Для этого у вас на сайте должен работать плагин, позволяющий работу php в виджетах, например, PHP Text Widget .
Плагин позволяет выводить популярные записи с помощью функции wpp_get_mostpopular, указав для нее различные параметры вывода. Соответственно, мы сначала определим текущую рубрику, а затем вызовем эту функцию с параметром в виде этой рубрики. Ниже сам скрипт с подробными комментариями.
term_id; break; } } $dp .="&pid=".get_the_id(); // исключаем из вывода текущую запись } wpp_get_mostpopular($p.$dp); ?>
// присваиваем переменной $p некоторые параметры, которые вы можете заменить на свои: // stats_views - отображать кол-во просмотров; // limit - кол-во записей // thumbnail_width и thumbnail_height - ширина и высота картинки // полный список параметров вы можете посмотреть в настройках плагина в разделе Parameters $p = "stats_views=0&limit=10&thumbnail_width=75&thumbnail_height=50" ; // дополнительные параметры $dp = "" ; // если мы находимся на странице категории, получаем ее и записываем в параметры if (is_category () ) { $cat = get_query_var ("cat" ) ; if (! empty ($cat ) ) { $dp = "&cat=" . $cat ; } // если мы находимся на отдельной странице, получаем список присвоенных ей рубрик |
Раскрою вам небольшой секрет:
Все успешные компании стараются с самого начала показать покупателям свои лучшие продукты. В книжных магазинах вы быстро найдете отдел с бестселлерами, а в дилерских центрах ваш глаз быстро заметит автомобили представительского класса.
То же самое касается и блогеров. Лучшие из них на своем сайте имеют раздел «Популярные статьи».
Посетители, читая самые успешные статьи блога:
- Увеличивают среднее время пребывания на сайте
- Уменьшают показатель отказов
- Начинают уважать автора и ценить его контент.
Но как БЫСТРО и без лишних хлопот реализовать раздел «Популярные статьи» на своем блоге?
Специально для вас я составил список 7 плагинов, с помощью которых вы сможете познакомить читателя со своими лучшими постами.
1. Jetpack
Данный плагин является, пожалуй, одним из самых популярных. Цифра в более чем 1 млн установок говорит сама за себя. Также стоит отметить, что автором этого плагина является Automattic, - команда разработчиков самого Вордпресса.
Плагин имеет много других возможностей помимо отображения популярных постов. Кстати говоря, для этого дела в Jetpack включен отдельный виджет. Включить его можно перейдя в раздел Jetpack→Настройки.
Единственным минусом данного плагина может стать конфликт с другими скриптами вашего сайта, ведь Jetpack включает в себя очень много других опций помимо вывода популярных статей.
2. WP Most Popular
Данный плагин заточен только на одном - нахождении самых популярных статей и предоставлении доступа к ним пользователям сайта. WP Most Popular имеет более 10 тыс. установок и рейтинг в 4.9 звезд. Видимо, со своей задачей этот плагин справляется на отлично.
Отображение самых популярных статей происходит при помощи виджета, который можно разместить, например, в сайдбаре. Также вы можете управлять количеством отображаемых постов, выборкой за тот или иной период и пр.
3. WP Tab Widget
Этот плагин является, пожалуй, одним из самых удачных. С его помощью вы можете добавить в сайдбар виджет с 3 вкладками - популярные посты, недавние посты и комментарии. Также этот виджет имеет адаптивную верстку и загружается по мере необходимости (lazy load). Не зря Wp Tab Widget имеет более 80 тыс. установок и рейтинг в 5 звезд.
С этим плагином вы также можете задавать количество отображаемых постов, при необходимости включая пагинацию. Для уникализации виджета предусмотрена CSS кастомизация.
4. WordPress Popular Posts
WordPress Popular Posts - следующий на очереди плагин. Как и предыдущие, данный плагин имеет хорошие показатели: 200 тыс. установок и рейтинг в 4.5 звезд. Среди его особенностей можно выделить простоту в настройке и использовании.
Данный плагин предусматривает использование нескольких виджетов с разными характеристиками, а также возможность сортировать посты по периодам времени (за последние 24 часа, 7 дней и так далее) и типу записей. Плюс, есть поддержка мультиязычности (WPML) и возможность включать/отключать миниатюры.
Если вы не хотите использовать виджет - у вас есть возможность продвигать самые популярные посты в самом контенте при помощи шорткода. Но и на этом еще не все. Плагин предоставляет специальный тег, при помощи которого вы можете внедрить самые популярные статьи в любом месте вашего WordPress шаблона.
5. Top 10
Следующий плагин, Top 10 , подсчитывает количество просмотров страниц, постов и отображает их в виде самых популярных. Он имеет установок более чем на 30 тыс. сайтах и рейтинг в 4.6 звезд.
Top 10 подсчитывает количество просмотров ежечасно и отображает посты в соответствии с обновленными статистическими данными. Предоставляемый виджет очень гибок в настройке, которая включает в себя количество отображаемых постов, их тип, формат отображения информации и период времени публикации.
Также имеется возможность отключения выборки статей из определенных рубрик и дополнительной CSS кастомизации. Автор плагина не обделил пользователей и специальным шорткодом.
6. Most And Least Read Posts Widget
Особенностью данного плагина является то, что он предоставляет список не только самых популярных, но и список наименее популярных постов. Это может стать для вас неплохой возможностью продвигать статьи с низкой посещаемостью. Стоит отметить, что при подсчете просмотров статей Most And Least Read Posts не берет в расчет посещения Googlebot и других популярных поисковых роботов.
Данный плагин предоставляет вам 2 виджета: первый - с самыми популярными постами, второй - с наименее популярными статьями. Включая тот или иной виджет, вы можете выбрать количество отображаемых постов и период времени для выборки. Также есть соответствующий шорткод для вашего удобства.
Одна из интересных возможностей плагина - исключать из списка посты, имеющие в своем названии то или иное слово. Например, если бы я не хотел продвигать свои уроки по CSS, мне следовало бы включить в черный список слово "CSS".
7. Popular Widget
Как и WP Tab Widget, данный плагин позволяет отображать популярные посты, последние комментарии и метки в одном виджете. Popular Widget имеет более 10 тыс. установок и рейтинг в 4.6 звезд.
Выборку популярных статей можно делать по количеству просмотров и комментариев. Также посты можно отфильтровать по дате публикации, автору и рубрике. Настройка внешнего вида виджета включает в себя отображение миниатюры, описания и количества просмотров.
Как выбрать подходящий плагин
Итак, теперь у вас есть список самых полезных плагинов в теме отображения популярных статей. Но как среди такого большого количества вариантов выбрать подходящий именно для вас?
Я считаю что ответ зависит от того, какого типа посты есть на вашем блоге, как вы хотите их отбирать и какие критерии гибкости плагина требуете.
Универсальным вариантом для вас может стать Jetpack, который, кроме всего прочего, имеет много дополнительных возможностей. Также хорошими вариантами могут стать WordPress Popular Posts и WP Most Popular, у которых есть возможность выбирать период времени публикации постов.
Если вы любите максимум пользы, для вас скорее подойдут WP Tab Widget и Popular Widget. Как вы знаете, данные плагины не ограничиваются лишь популярными статьями. WP Tab Widget будет особо ценен при необходимости CSS кастомизации. А Popular Widget больше порадует возможностью сортировать посты по автору, дате публикации и рубрике.
Вывод
Большинство новых посетителей вашего сайта не в состоянии найти самые убойные и ценные статьи вашего блога, и ваша задача - помочь им в этом. Эту задачу можно решить при помощи отображения самых популярных статей в отдельном блоке.
В этом вам помогут плагины, которые я перечислил выше. Вам лишь стоит выбрать один из них и настроить его для своих нужд.
Если вы уже начали использовать один из этих плагинов, буду рад услышать ваше мнение и отзывы в комментариях.
А на этом у меня все. Надеюсь, данная статья была вас полезной. Если это так:
- Сделайте репост этого поста в социальных сетях, чтобы больше людей получили от нее пользу;
- Подписывайтесь на мою рассылку, чтобы не пропустить полезные и интересные публикации на блоге.
На этом я с вами не прощаюсь. Спасибо за внимание и до встречи в следующих публикациях!