Подписка
Email
Fb
RSS
Twitter
Email

Вывод случайных записей

Иногда бывает нужно на странице записи в блоге на WordPress добавить список случайных записей. Это бывает полезно для внутренней оптимизации, так как тем самым создается перелинковка страниц, а также позволяет задерживать пользователей на сайте (может быть их заинтересует заголовок статьи из списка).

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

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

<div id="random">
    <?php $randompost = $wpdb->get_results("SELECT ID FROM $wpdb->posts WHERE post_status = 'publish' AND post_type = 'post' ORDER BY RAND() LIMIT 5");
     if ($randompost) {
     foreach ($randompost as $post) {
      $ID = $post->ID;
      $postid = get_post($post->ID);
      $title = $postid->post_title; ?>
    <li><a href="<?php echo get_permalink($postid); ?>" title="<?php echo $title ?>"><?php echo $title ?></a></li>
    <?php } } ?>
    <div class="more"><a href="javascript:location.reload()" target="_self">(показать другие)</a></div>
</div>

Количество выводимых записей определяется LIMIT 5 (то есть в данном случае будет выводиться 5 записей).

Строка
 <div class="more"><a href="javascript:location.reload()" target="_self">(показать другие)</a></div> 

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

Вы можете оставить комментарий.

8 комментариев к записи “Вывод случайных записей”

  1. Алексей:

    А как сделать чтобы случайные записи выводились на главную сразу после шапки и только из определенной рубрики? А еще хотелось бы чтобы еще ниже выводило случайную картинку. Подскажите пожалуйста если не затруднит,  

    а то я в этом деле чайник...

     заранее большое спасибо!

    • Можно так:

      <ul>
          <?php
            $rand_posts = get_posts('numberposts=3 & orderby=rand & cat=3');
            foreach($rand_posts as $post) :
          ?>
          <li>
            <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
          </li>
          <?php endforeach; ?>
        </ul>

      numberposts=3 — количество выводимых записей;
      cat=3 — ID категории.
      Для того, чтобы вывести после шапки нужно смотреть шаблон. Смотрите в файле header.php.
      Для вывода случайных картинок можно использовать код:
      <img src="http://адрес-сайта/папка/image-<?php echo(rand(1,3)); ?>.jpg"
       width="ширина картинки" height="высота картинки" alt="image_alt_text" />
      rand(1,3) — число 3 — это общее количество картинок
      Картинки нужно назвать так:
      image-1, image-2, image-3 и т.д. Их соответственно нужно загрузить через FTP на ваш сервер в какую-нибудь папку, которая потом указывается в коде: http://адрес-сайта/папка/

  2. DenWeb, подскажи пожалуйста, я ставлю вывод случайных новостей перед комментариями сразу после полной новости, и после этого у меня комментарии отображаются рандомом в это новости (абсолютно с других новостей)

  3. Alex:

    А не поскажите где копать чтоб выводились случайные в разном количестве на одной странице 5, на второй 7 , на третьей 11 , потом опять на другой 8 , и так далее , заранее благодарен!!

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

  5. Хороший код, мне пригодился как раз вовремя, спасибо!

  6. Здравствуйте! Подскажите пожалуйста, как вывести случайные записи горизонтальном (для футера), а не друг под другом?

Оставить комментарий

Spam Protection by WP-SpamFree

Яндекс.Метрика