X
  • Дизайн та розробка сайту
  • Дизайн і створення сайтів. Розробка тем для WordPress. Створення Landing Page.
  • office@gnatkovsky.com.ua
  • @vgnat
  • Написати мені
Замовити послугу

Вывод случайных записей WordPress c миниатюрами без плагина

Приклад
  • 2024-10-06
  • 16721 переглядів

  • Дизайн та розробка сайту

Иногда владельцы WordPress сталкиваются с тем что им нужно вывести случайные записи на своем сайте. К тому же данная затея является очень полезной вещью, потому что поможет вам создать внутреннюю перелинковку страниц, что хорошо с точки зрения оптимизация для выдачи в поисковых системах. Так же поможет показать посетителям те посты, которые были созданы давно и давно не обсуждались, хотя могут быть очень полезными для посетителя.
Для выполнения такой задачи нам поможет функция WordPress - query_posts. Данная функция позволяет выводить записи согласно заданным критериям, например только из определенной категории или вообще только определенные записи.
Итак, нам нужно открыть файл темы(sidebar.php, single.php и тд.) - куда нам нужно вставить наш код функции, который выглядит так.

 
<?php query_posts('orderby=rand&showposts=5'); ?>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
   <ul>
     <li><a title="<?php the_title(); ?>" href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
   </ul>
<?php endwhile; endif; ?>

В данном коде в первой строке указаны свойства: вывод случайным образом и вывод 5 постов.

no image

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

query_posts(‘cat=-3′) — Не показывать категорию с id=3;
query_posts(‘cat=-1,-2,-3′) — Не показывать категории с id, равным 1, 2 и 3;
query_posts(‘cat=1,5,9′) — Вывести категории с id, равным 1, 5 и 9;
query_posts(‘category_name=Статьи’) — Вывести категорию с названием «Статьи»;
query_posts(‘name=Возможности WordPress’) — Вывести запись с названием «Возможности WordPress»;
query_posts(‘p=12′) — Вывести одну запись, id которой равно 12;
query_posts(‘pageid=8′) — Вывести одну страницу, id которой равно 8;
query_posts(‘pagename=Об авторе’) — Вывести страницу, название которой «Об авторе»;
query_posts(‘cat=3&showposts=5′) — Вывести 5 записей из категории, id которой равно 3;
query_posts(‘cat=3&orderby=date&order=ASC’) — Вывести записи из категории, id которой равен 3 по дате в хронологическом порядке, т.е выше будут располагаться записи, которые были созданы последними. Если вам надо вывести записи в обратном порядке, то нужно применить параметр DESC;
query_posts(‘posts_per_page=10′) — Вывести на страницу 10 записей. Если задать значение ‘-1′, то будут выводиться все записи;
query_posts(‘cat=3&year=2010′) — Вывести записи из категории, id которой равен 3, за 2010 год;
query_posts(‘orderby=rand&showposts=5&cat=3′) — Вывести случайно 5 записей из категории, id которой равен 3;
query_posts(‘orderby=rand&showposts=5′) - Вывести случайно 5 записей из всех категорий;
query_posts(‘meta_key=cars&meta_value=volvo’) — Вывести список записей с произвольным полем «cars» и значением этого поля «volvo».

Также можно в этот можно код добавить показ миниатюр.
нужно добавить 1 строку после строки с именем поста, но перед закрывающимся li.

 <a title="<?php the_title(); ?>" href="<?php the_permalink() ?>"><?php the_post_thumbnail(); ?></a>

Тогда код будет выглядеть следующим образом.

<?php query_posts('orderby=rand&showposts=10'); ?>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
   <ul>
     <li><a title="<?php the_title(); ?>" href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
         <a title="<?php the_title(); ?>" href="<?php the_permalink() ?>"><?php the_post_thumbnail(); ?></a></li>
   </ul>
<?php endwhile; endif; ?>

Используя метод как в ЭТОЙ статье, можно подключить стили. Также можете прописать свои, чтобы придать нормальное отображение данного списка записей.

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

Вот код, который нужно вставить в конец нашего functions.php:

  
<?php
function randomPosts() {
query_posts('orderby=rand&showposts=5');
if (have_posts()) : while (have_posts()) : the_post(); ?>
   <ul>
     <li><a title="<?php the_title(); ?>" href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
   </ul>
<?php endwhile; endif;
}
?>

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

<?php randomPosts(); ?>

После сохранения файлов - смотрим результат.
На этом все. Спасибо за внимание 🙂

Якщо Вам була корисна моя праця, можете фінансово підтримати сайт або відключити блокувальник реклами, що займе 2 хвилини :)

Хочу підтримати фінансово Хочу відключити блокувальник

Оцініть статтю
  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
Проголосовало: 29, в среднем: 4.7 из 5
Читайте також

Deprecated: Функція WP_Query викликана з аргументом, який вважається застарілим з версії 3.1.0! Вираз caller_get_posts застарілий. Використовуйте ignore_sticky_posts. in /var/www/vhosts/gnatkovsky.com.ua/gnatkovsky.com.ua/public/wp-includes/functions.php on line 6078