Выделение самых популярных записей на вашем сайте — отличный способ направить новых посетителей к вашему лучшему контенту и привлечь, таким образом, их внимание.
Существует несколько способов как это можно сделать, и есть немало плагинов, которые могут помочь в этом. А почему бы не взять за основу количество комментариев? Если вы написали пост, побуждающий к обсуждениям, то это должен быть очень хорошо написанный пост (в большинстве случаев…).
Что мы будем делать
То что мы собираемся сделать очень просто, мы создадим запрос, чтобы получить упорядоченный список самых комментируемых записей из вашей базы данных, а затем выводить их так, как нам захочется.
Популярные записи в боковой панели
Для того, чтобы сделать популярные записи в виде виджета боковой панели, нужно просто скопировать указанный ниже код и вставить его в ваш файл sidebar.php
.
Чтобы изменить количество выводимых записей, просто измените число «5» в конце третьей строки на любое нужное число.
1 2 3 4 5 6 7 8 9 10 11 12 13 | <h2>Популярные Записи</h2> <ul> <?php $result = $wpdb->get_results("SELECT comment_count,ID,post_title FROM $wpdb->posts ORDER BY comment_count DESC LIMIT 0 , 5"); foreach ($result as $post) { setup_postdata($post); $postid = $post->ID; $title = $post->post_title; $commentcount = $post->comment_count; if ($commentcount != 0) { ?> <li><a href="<?php echo get_permalink($postid); ?>" title="<?php echo $title ?>"> <?php echo $title ?></a> {<?php echo $commentcount ?>}</li> <?php } } ?> </ul> |
Создание отдельной страницы с популярными записями
Вместо простого списка записей в боковой панели, вы можете создать более длинный список, показывающий гораздо больше ваших лучших записей, и разместить его на отдельной странице.
Способ 1 — Если вы используете тему по умолчанию
Если вы используете дефолтную тему WordPress, то можно сказать, что полдела сделано. Просто скачайте файл popular-posts.php (Правая кнопка мыши > Сохранить ссылку как…) и загрузите его в папку вашей темы. Затем перейдите к пункту «Шаг 2 — Создание страницы» этой статьи.
Способ 2 — Если вы используете персональную тему
Это немного сложнее, но всё же достаточно понятно.
- Для начала откройте файл
page.php
вашей темы в текстовом редакторе (редактор WordPress здесь не подойдёт). Если такого файла нет, то используйте вместо негоindex.php
. - Сохраните этот файл в папку вашей темы (в ту же, откуда файл
page.php
) с новым именем —popular-posts.php
. - Вставьте следующий код в начало файла
popular-posts.php
.12345<?php/*Template Name: Popular Posts*/?> - Поищите в файле фрагмент кода, который выглядит наподобие указанного ниже. Первая и последняя строчки играют важную роль. Код, находящийся между ними, не особо важен (код, который вы видите, может отличаться от вашего).12345678910<?php if (have_posts()) : ?><?php while (have_posts()) : the_post(); ?><h1 class="title-old"><a href="<?php the_permalink() ?>" rel="bookmark" title="Read <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h1><?php the_content('<p class="serif">Читать далее &raquo;</p>'); ?><!-- /post --></div><?php endwhile; else: ?><p>Sorry, no posts matched your criteria.</p><?php endif; ?>
Теперь удалите весь код. - Вставьте следующий код вместо удалённого (можете смело менять число 5 в третьей строке на любое другое).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <h1>Популярные Записи</h1> <?php $result = $wpdb->get_results("SELECT comment_count,ID,post_title FROM $wpdb->posts ORDER BY comment_count DESC LIMIT 0 , 5"); foreach ($result as $post) { setup_postdata($post); $postid = $post->ID; $title = $post->post_title; $commentcount = $post->comment_count; if ($commentcount != 0) { ?> <div class="post"> <div class="popular-image"> <?php $image = get_post_meta($post->ID, 'popular_image', true); /* Replace lead_image with the name of the custom field for the image you want to use */ ?> <img alt="" src="<?php echo $image ?>" /> </div> <p><a href="<?php echo get_permalink($postid); ?>" title="<?php echo $title ?>"> <?php echo $title ?></a> {<?php echo $commentcount ?>} </p> </div> <?php } } ?> |
Теперь, вполне вероятно, понадобятся некоторые манипуляции, чтобы получить правильный макет страницы. Это связано с тем, что ваша тема является индивидуальной, поэтому здесь будут отсутствовать некоторые кусочки. Посмотрите файл page.php и сравните его с этим кодом — постарайтесь скопировать недостающие фрагменты.
Шаг 2 — Создание страницы
Теперь перейдите в консоль WordPress и нажмите Страницы > Создать новую. Создайте новую страницу (содержание не имеет значения, оно не будет использоваться), а затем в окне «Свойства страницы» установите «Шаблон» — «Popular Posts».
Теперь опубликуйте страницу и нажмите «Посмотреть страницу». Вы должны будете увидеть ваши наиболее комментируемые записи в виде списка, с числом комментариев по каждой.
Использование персональных изображений
Код был создан с возможность включить изображение, если нужно. Когда вы публикуете свою запись, просто добавьте ссылку на ваше изображение в произвольное поле popular_image
(или измените название popular_image
в коде на название произвольного поля, которые вы уже используете).
Если вы раньше никогда не использовали произвольные поля, то можете почитать о них здесь. Касательно того, что мы делаем, это просто означает, что на странице редактора записи, вы переходите в раздел произвольных полей и пишете popular_image
в графе Ключ и ссылку на изображение в графе Значение.
Что дальше?
У вас есть код, чтобы вывести записи. Что вы планируете делать дальше с этой страницей зависит от ваших желаний. Вы можете использовать CSS для создания необходимого дизайна. Вот пример того, как может выглядеть страница с популярными записями:
Если у вас есть вопросы или вам есть, что сказать по данной теме — оставляйте комментарии. Подписывайтесь на наш блог, а также вступайте в нашу группу Вконтакте.