Как вывести популярные записи в wordpress. Счетчик просмотров записей на WordPress: установка и настройка

Сегодня хочу поделится с вами очередной функцией вывода записей. Функция является прямым дополнением статьи "Считаем количество посещений страниц на WordPress без плагинов ". В задачу функции входит вывод записей отсортированных по произвольному полю, в котором собирается количество просмотров каждого поста. Проще говоря, функция выводит самые просматриваемые записи блога/сайта на WordPress.

Однако, чтобы применить эту функцию для начала необходимо использовать код из статьи, ссылку на которую я дал выше, именно тот код будет считать количество посещений страницы и записывать их в произвольное поле, а функция из этой статьи будет выводить записи по этому произвольному полю, т.е. по наибольшему количеству просмотров.

Итак, знакомьтесь.

Как обычно, этот код нужно поместить в ваш файл шаблона functions.php или в то место где будет использована эта функция. Если такого файла у вас нет, то его можно и даже нужно создать!

После того, как функция скопирована в functions.php её можно использовать. Как? Очень просто: открываете файл шаблона (темы) и в то место где нужно вывести список самых просматриваемых записей вызываете функцию (вставляете следующий код):

где, num=10 - это указание сколько записей показывать в списке.

Это все, функция должна работать.

Расширенное использование

Те, кто заглянул в код функции, наверняка увидели вначале строчку "Параметры передаваемые функции " и догадались что функция то не простая, вывод можно немного настроить, а как это сделать я, конечно, сейчас расскажу.

Параметры, которые можно передать функции:

    num - количество выводимых ссылок в списке (постов). по умолчанию выводится 10;

    key - название ключа произвольного поля, по значениям которого будет проходить выборка. Так как в функции для подсчета просмотров используется ключ "Просмотров", то этот параметр по умолчанию равен "Просмотров".

  • format - Формат выводимых ссылок. По умолчанию формат такой: {a}{title}{/a}. При изменении формата можно использовать, следующие шоткоды:
  • {comments} - покажет колличество комментариев у статьи;
  • {title} - заголовок статьи;
  • {date:j.M.Y} - дата в формате j.M.Y (11.Апр.2010);
  • {a} и {/a} - тег ссылки. Открывается и закрывается.
  • days - число последних дней, записи которых нужно вывести по количеству просмотров. Если указать год (2011,2010), то будут отбираться популярные записи за этот год.

    cache - использовать кэш или нет. Варианты 1 - кэширование включено, 0 - выключено (по дефолту). Кэш будет работать только совместно с плагинами кэширования запросов. По умолчанию кэширование отключено.

  • echo - выводить на экран или возвращать для обработки. 1 - выводить на экран (по дефолту), 0 - вернуть для обработки (return).

Примеры использования

#1. Список из 15 самых просматриваемых записей

При этом в списке нужно указать дату записи и количество просмотров. Реализуется так:

выведет список в формате: Заголовок статьи - 11.Апр.2010 (2300, 25) где, 2300 - просмотры, 25 - комментарии.

#2. Изменим ключ произвольного поля

Для этого добавляем в параметры &key=<название нового ключа>

выведет список в формате: Заголовок статьи - 11.Апр.2010 (2300, 25) . Выборка постов будет проходить по произвольному полю со значением "views".

#3. Выведем 15 самых просматриваемых записей за последние 3 месяца (90 дней):

На этом все.

Если появятся вопросы по ходу прочтения или при установке этой функции, комментарии на блоге как раз для них.

Быстро, а главное - недорого купить подписчиков в группу Телеграмм Вам поможет сервис Avi1.ru . На страницах данного сайта Вы можете также получить различные услуги по развитию страниц в данной социальной сети. При желании, Вам помогут опытные и квалифицированные специалисты технической поддержки сайта.

2 голоса

Доброго времени суток, уважаемые читатели моего блога. На любом сайте есть статьи, которые читают чаще остальных. Причина этого кроется не только в популярности поисковой фразы, но и качестве самой публикации. В топе поисковика может оказаться каждый, но окончательное решение принимает аудитория. Что-то не понравилось, и читатель покидает блог.

Небольшая подсказка для нового человека на вашем сайте поможет ему найти самые лучшие и полезные публикации на вашем сайте. Он может прийти случайно на сайт и внезапно наткнуться на что-то интересное и остаться. Это хорошо для вас, как для разработчика. Ведь тогда время, проведенное в блоге, будет увеличиваться.

Сегодня мы поговорим про WordPress популярные записи. Научимся выводить их простыми способами, при помощи виджетов, чтобы добиваться красивого результата быстро. Я также дам несколько полезных ссылок и тем новичкам, которые уже давно стремятся к самостоятельности и независимости.

Приступим?

Простой способ вывода

Для начала мне бы хотелось сделать небольшой обзор популярных плагинов, потом я расскажу как с ними работать на примере еще одного простенького варианта. Кстати, на мой взгляд, простота в данном случае ни коим образом не идет в ущерб качеству дизайна. Мне это расширение понравилось даже больше некоторых основных.

Думаю, что здесь для себя найдут интересное многие: и совсем неопытные новички, стремящиеся к простоте и стильности, и достаточно зрелые пользователи, жаждущие на основе чужого кода создавать свои, независимые и уникальные проекты.

Easy Popular Posts

Вы можете установить виджет в текстовую часть (колонка содержимого), основную панель или разместиться в футере (подвале).

Вот так выглядит панель настроек. Статьи могут отображаться с картинками или без них. Если ссылок на странице много и вы боитесь переспама, то можно поставить тег nofollow, чтобы поисковики не учитывали их.

Популярность может определяться по количеству комментариев, просмотров или репостов. Как установить соответствующие я уже рассказывал.

WordPress Popular Posts

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

Внушительное меню, с которым довольно просто разобраться, даже не зная английского.

Вы сами устанавливаете число вводимых постов, периодичность обновления.

Возможны различные варианты отображения.Без картинок или с иллюстрациями. Какого размера они будут. Показывать количество просмотров, автора, рубрику. Насколько большим будет сам блок и т. д.

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

Если захотите, можно отображать описания статьи по количеству слов или символов.

Открытый исходный код. При желании вы можете изучить Бесплатный курс по CSS (45 видеоуроков!) от Евгения Попова и настроить блок по собственному вкусу.

Popular Widget

Еще один интересный плагин — Popular Widget.

И снова большое количество настроек. Он подсчитывает количество просмотров, по которому создается список популярных статей на вашем блоге.

Показывает не только самые популярные статьи, но и последние просмотренные публикации, комментарии, теги и многое другое.

Код, опять-таки, открыт.

Как выводить новости

Давайте теперь я покажу вам как выводить новости и настраивать плагины. Действовать буду на примере Popularity Posts Widget. Он менее функциональный, чем предыдущие. Благодаря ему я смогу показать новичкам как работать с виджетами и не напишу для этой цели трехтомную статью. Возможно, кому-то понравится именно он.

Нахожу Popularity Posts Widget через «Плагин» – «Добавить новые» и активирую. С этим, убежден, что проблем не возникнет. Если что, ссылку на нужную публикацию я уже давал.

Открываем «Внешний вид» — «Виджеты».

Выбираем где будет размещаться блок. Можете попробовать по очереди все три варианта: основная колонка, содержимое или подвал.

Как только нажмете на «Добавить виджет», слева появится дополнительное окно. Оно мгновенно вылезет и привлечет ваше внимание.

Меняем заголовок, настраиваем условия выбора. Если сайт старый, а вы ставите длительный период выборки, сверху будут размещаться одни и те же статьи, набравшие тысячи просмотров.

Выбираем также количество символов в заголовке и что будет отображаться (дата, комментарии, количество просмотров).

Сейчас популярные записи выглядят вот так. На мой взгляд картинки слишком маленькие. Как изменить ситуацию?

Меня всегда удивляло, как дизайнеры смело и быстро определяют на глаз какой размер того или иного блока должен стоять. Понятное дело, за годы работы можно запросто обрести хороший глазомер. Но метод проб и ошибок меня не привлекает. Очень много времени потрачу.

Я скачал расширение для браузера MeasureIt. Это пиксельная линейка. Я просто щелкаю по иконке в браузере, затем выделяю область, где должна будет стоять иллюстрация.

Совершенно не важно в каком масштабе вы просматриваете страницу, показатели отображаются в пикселях.

Возвращаемся к панели настроек и ставим новые значения.

Теперь картинки отображаются совсем по-другому.

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

Подпишитесь на рассылку новостей из моего блога и получайте полезные публикации с завидной периодичностью. Сегодня у вас родилась идея создать дополнительный блок с полезными публикациями, но сколько еще интересного можно сделать, чтобы усовершенствовать свой блог, сделать работу с ним легче, интереснее!

Позвольте мне дать вам новые идея для развития. Ну а если ждать не хочется, могу предложить книгу «Раскрутка. Секреты эффективного продвижения сайтов» . Здесь есть все, что необходимо разработчику: работа над и методы защиты текстов от воровства, наблюдение за поведением посетителей и работа с данными, в современных условиях и много чего еще.


Чем полезна это книга? Здесь очень много информации именно о Яндексе. Мы знаем о нем довольно мало. Сведений о Гугле куда больше и в книгах, и в журналах. Но сейчас, когда Яндекс становится все мощнее, полезнее для русских пользователей и все активнее выталкивает Гугл с просторов российского интернета пришла пора подробнее изучать именно этот поисковик.

Сколько времени на это уйдет и какие методы использовать — решать вам.

Ну вот и все. До новых встреч. Подписывайтесь на рассылку и читайте полезные книги. Я желаю вам удачи в ваших начинаниях.

Привет! В этой статье покажу, как добавить вывод количества просмотров к постам на ваших сайтах под управлением CMS WordPress без использования плагинов.

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

Редактируем файл functions.php

Переходим во вкладку Внешний вид -> Редактор вашей темы WordPress. Справа в колонке находим надпись Функции темы (functions.php) и кликнем по ней. Попадаем в страницу редактирования файла, опускаемся в самый низ и приступаем к написанию нужного функционала.

Функция установки просмотров к постам

Данная функция будет проверять существование у поста конкретного поля post_views_count и перезаписывать его в случае отсутствия такового. Это будет происходить в единожды, как только хоть один раз было обращение к записи. В остальных случаях мы просто увеличиваем на 1 просмотр записи каждый раз, как она показана и обновляем это значение в базе данных с помощью функции update_post_meta () .

Function set_post_views($id){ $count_key = "post_views_count"; //задаем название поля для хранения просмотров $count = get_post_meta($id, $count_key, true); //получаем по id поста есть ли у него данное поле if ($count == "") { // если у поста его то задаем его delete_post_meta($id, $count_key); // очищаем поле в посте add_post_meta($postID, $count_key, "0"); // добавляем поле просмотров к записи } else { // если же есть то продолжаем $count++; // увеличиваем количество просмотров на 1 update_post_meta($id, $count_key, $count); // записываем количество в наше поле } }

Функция получения количества просмотров к постам

Данная функция будет возвращать нам количество просмотров для поста полученного из ранее заданного поля в таблице постов. Для получение количества, данная функция так же принимает в качестве параметра ID поста.

Function get_post_views($id) { $count_key = "post_views_count"; //задаем название поля для хранения просмотров $count = get_post_meta($id, $count_key, true); //получаем по id поста есть ли у него данное поле if ($count == "") {// если у поста его нет то задаем его delete_post_meta($id, $count_key); // очищаем поле в посте add_post_meta($id, $count_key, "0"); // добавляем поле просмотров к записи return 0; // возвращаем 0 в качестве начального количества просмотров } return $count; // возвращаем число с количеством постов }

Вывод количества

После написания 2-х этих функций переходим в редактирования файла single.php. Этот файл темы отвечает за вывод конкретной записи. В верхней части мы вызываем нашу функцию для задания количества просмотров.

В нее мы передаем ID нашей записи с помощью функции get_the_ID ().

После этого переходим в файл index.php. Этот файл в котором, как правило, выводятся все опубликованные посты сайта. Теперь нужно просто выбрать место в разметке страницы где мы хотим видеть наше число просмотров.

После выбора места необходимо вызвать нашу функцию вывода хранимого количества. На моем сайте оно выводится в конце поста. Для вывода используется следующая конструкция.

На этом все. Не забывайте сохранять файлы темы после редактирования.

Один из самых излюбленных способов улучшения поведенческих факторов на сайте — использование блока «Популярные записи». Он позволяет удержать внимание посетителя на самых интересных записях. В общем, это очень хорошо для продвижения вашего сайта.

Сегодня мы рассмотрим, как выводить популярные записи без использования плагинов. Лично я не очень люблю, когда сайт ими перегружен. Прежде чем мы перейдем к технической реализации, давайте сосредоточим внимание на одной распространенной ошибке.

Теория популярности

Обычно для реализации вышеуказанной задачи, разработчики прибегают к простому алгоритму: выводят публикации по количеству просмотров или комментариев. Больше просмотров/комментариев — больше популярность. Кажется, все просто и логично.

Но на мой взгляд, используя такой алгоритм ранжирования, мы допускаем небольшую ошибку. Дело в том, что в этом случае мы не учитываем фактор времени. Это значит, что публикация, предположим, размещенная на сайте год назад, скорее всего будет иметь больше просмотров или комментариев, чем размещенная вчера. Даже если новая объективно лучше и интереснее, чем более старая. Таким образом, старые публикации, по стечению обстоятельств, навсегда пропишутся в блоке «Популярные записи».

На эту мысль натолкнул один известный сайт, посвященный работе в Photoshop. Так, в блоке «Популярные», выводятся уроки, которые качественно хуже, чем более новые. Но, из-за их более раннего появления, имеют больше просмотров. Список популярных записей не меняется вот уже более полутора лет. Нужно ли это и вам?

Что касается популярности по комментариям. Возникают ряд вопросов. Что если пока комментариев на сайте нет? Как ранжировать, если критерий популярности — только комментарии? Вопросов больше, чем ответов.

Создаем алгоритм популярности

Давайте попробуем устранить все эти недостатки, позволяя более новым, и действительно качественным материалам стать популярными. Наш алгоритм — лишь заготовка, которая позволит вам создать более продуманную систему ранжирования. Если на вашем сайте есть несколько сотен или тысяч статей, можно проводить интереснейшие эксперименты. Ну да ладно. Приступим.

Индекс популярности = Просмотры / Дни существования

Разберемся. Исходя из формулы, пост «A», который существует 100 дней, и имеет 100 просмотров, будет менее популярен, чем более новый пост «B», но за 1 день, собравший 10 просмотров. Это логично, ведь теоретически, пост «B» за те же 100 дней наберет значительно больше просмотров, чем его конкурент.

Однако, и эта формула не учитывает еще один момент. 100 дней назад посещаемость сайта могла быть всего лишь 1 человек в день, а в момент публикации поста «B» — 100 человек в день. Давайте введем еще один фактор ранжирования. Это показатель комментирования. Логично, ведь если публикацию обсуждают, значит она интересна. Наша формула будет выглядеть следующим образом:

Индекс популярности = Комментарии + Просмотры / Дни существования

Итак, в нашем алгоритме будут учитываться следующие факторы:

  1. количество просмотров записи
  2. количество дней существования публикации
  3. количество комментариев

Теперь, определившись с формулой, приступим к реализации вывода записей по созданному индексу популярности.

Вывод записей

Создадим заготовку, которая послужит отправной точкой. Выводим 5 записей. Разместите следующий код там, где хотите вывести посты.

Теперь можно его красиво оформит. Этот код нужно разместить в файл style.css вашей темы.

#popular_posts ul { margin-left:10px; } #popular_posts ul li{ display:block; border-bottom:1px solid #f1f1f1; padding:15px 0px 20px 0px; height:50px; font-size:13px; } #popular_posts ul li img { width: 50px; height: 50px; float: left; margin: 0 13px 0 0px; background: #fff; border: 2px solid #f1f1f1; border-radius: 50%; } #popular_posts ul li p { margin-top:10px; }

Рассчитываем индекс популярности

Количество просмотров страницы

Function setPostViews($postID) { $count_key = "views"; $count = get_post_meta($postID, $count_key, true); if($count == ""){ $count = 0; delete_post_meta($postID, $count_key); add_post_meta($postID, $count_key, "0"); } else { $count++; update_post_meta($postID, $count_key, $count); } } function getPostViews($postID){ $count_key = "views"; $count = get_post_meta($postID, $count_key, true); if($count==""){ delete_post_meta($postID, $count_key); add_post_meta($postID, $count_key, "0"); return "0"; } return $count; }

Обязательно считаем каждое посещение страницы. Его нужно разместить в файл одиночной записи, обычно это single.php

На всякий случай, если нужно вдруг вывести во фронтэнде:

Просмотры:

Считаем количество дней существования поста

// получаем дату публикации поста в секундах начиная с 1 января 1970 года $dtNow = get_post_time("U", true, $postid); // получаем текущее время $dtTime = current_time("U"); // считаем разницу в днях $diff = $dtTime - $dtNow; $days = $diff/86400;

Считаем количество комментариев

comments_number("0", "1", "%");

Итак, мы определили, как будем получать данные каждой записи для подсчета индекса популярности.

Выводим записи по популярности

Есть один важный момент. Если мы станем пересчитывать индекс популярности всякий раз, когда кто-то заходит на сайт, это создаст довольно высокую нагрузку. Сайт может работать медленнее. Чтобы не создавать лишней нагрузки, давайте запланируем задачу, которая позволит нам производить пересчет один раз в сутки. Воспользуемся планировщиком wp_schedule_event() . Разместите код ниже в файл function.php:

// добавляем запланированный хук add_action("wp", "my_activation"); function my_activation() { if(! wp_next_scheduled("my_daily_event")) { wp_schedule_event(time(), "daily", "my_daily_event"); } } // добавляем функцию к указанному хуку function do_this_daily() { global $wpdb; $postids = $wpdb->get_results("SELECT ID FROM $wpdb->posts WHERE post_status="publish" AND post_type="post" ORDER BY ID ASC"); foreach($postids as $postid){ $postid = $postid->ID; // ID записи // считаем количество просмотров $views = (int)get_post_meta($postid, "views", true); // считаем дни существования поста //$dtNow = get_the_time("U"); $dtTime = current_time("U"); $diff = $dtTime - $dtNow; $dtNow = get_post_time("U", true, $postid); $dtTime = current_time("U"); $diff = $dtTime - $dtNow; // считаем комментарии и сумму просмотров с комментариями $comments = get_comments_number($postid); $summa = $views + $comments; // считаем индекс популярности if ($days = "0"){ $pop_index = $summa / 1; } else { $days = (int)$diff/86400; $pop_index = $summa / $days; } $pop = round($pop_index, 2); // записываем индекс популярности в произвольное поле поста update_post_meta($postid, "popularity", $pop); } } add_action("my_daily_event", "do_this_daily", 10, 2);

Теперь сам вывод постов.

Вывод через шорткод

Для удобства, давайте попробуем выводить записи через шорткод [ popular-posts ] (не забудьте убрать пробелы).

Function popular_posts() { ob_start(); ?>

Параметры ob_start() и ob_get_clean() позволяет нам выводить цикл в том месте, где мы хотим. Если их не добавить, список будет выводиться просто вверху до загрузки всего остального контента.

Вместо итогов

Как видим, в выводе постов по популярности нет ничего сложного. С другой стороны, мы получили полностью рабочую функцию, которая позволит отображать действительно интересные читателям публикации. Разумеется, при желании этот алгоритм можно улучшить. Если у вас есть предложения и идеи, пишите в комментариях.

Про вывод популярных постов в вордпресс я уже рассказывал пару раз. Помнится, на 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.

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

Поделиться: