Май
7

Вывод случайных записей с помощью функции query_posts

Вывод случайных записей на сайте является очень полезным ходом, так как это позволяет не только создать внутреннюю перелинковку, что хоршо с точки зрения оптимизация для выдачи в поисковых ситемах, но и помогает показать пользователям записи, которые были опубликовано достаточно давно и возможно уже оказались незаслуженно забытыми. А именно как раз эти записи могут оказаться очень полезными для некоторых, поэтому периодически поднимать их из архива очень необходимо. Поскольку нам нужно вывести именно случайные записи в нужном месте, то как никак лучше подойдет такая функция WordPress, как query_posts. Она позволяет выводить записи согласно заданным критериям, например только из определенной категории или вообще только определенные записи. Теперь расскажу немножко подробнее об этой функции и приведу несколько примеров, чтобы вы имели о ней представление. Для вывода записей в WordPress используют цикл, так называемый “The Loop”. Обычно он выглядит вот так:

<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_posts(); ?>
//Ваш код
<?php endwile; ?>

Если перед этим циклом поставить функцию query_post с нужными нам параметрами, то можно добиться нужного нам результата. Приведу первый пример:

<?php query_posts('cat=-1,-2,-3'); ?>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_posts(); ?>
//Ваш код
<?php endwile; ?>

Такой код выведет записи из всех категорий, кроме категорий с ID 1, 2 и 3.

Теперь, когда вам понятно что делает эта функция и принцип задания параметров, приведу остальные виды параметров для query_posts:

  • 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”.

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

<?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></li>
   </ul>
<?php endwhile; endif; ?>

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

Можете даже немного модифицировать этот код и добавить еще вывод в скобках количество комментариев к этой записи:

<?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> <?php comments_number('(0)','(1)','(%)'); ?></li>
   </ul>
<?php endwhile; endif; ?>

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

<?php
function randomPosts() {
query_posts('orderby=rand&showposts=10');
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;
}
?>

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

<?php randomPosts(); ?>

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

VN:F [1.9.16_1159]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.16_1159]
Rating: 0 (from 0 votes)

Понравилась статья? Поделитесь ею в социальных сервисах!

Подпишитесь на обновление блога!

Ваш e-mail:

Понравилась статья? Вы не хотите пропускать новые статьи, посвященные Wordpress? Тогда подпишитесь на RSS или на электронный ящик и получайте новые статьи мгновенно! Также можете следить за мной в Twitter.

60 комментариев к “Вывод случайных записей с помощью функции query_posts”

  • Нет аватара
    Мария 21.06.2011 в 04:23

    Спасибо! :-P
    Ваши примеры использования функции мне очень помогли)
    2 дня уже у вас тут тусуюсь) Сделала у себя на сайте анонсы) Правда код (предпоследний) у меня почему-то не заработал. Но у меня получился немного другой вариант.
    Жду интересных постов, добавила в закладки блог :roll:

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
  • Нет аватара
    Vadimon 21.06.2011 в 09:10

    Мария, какой именно код у вас не заработал?

    VN:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VN:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
    • Нет аватара
      Мария 17.07.2011 в 02:10

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

      Но ваше описание параметров мне очень помогло, спасибо еще раз.

      VA:F [1.9.16_1159]
      Rating: 0.0/5 (0 votes cast)
      VA:F [1.9.16_1159]
      Rating: 0 (from 0 votes)
  • Нет аватара
    Алексей 16.07.2011 в 19:54

    Здравствуйте!
    Помогите пожалуйста чайнику! Хочу сделать на главной странице (сразу под шапкой) случайный вывод трех анекдотов из рубрики «анекдоты», а ниже вывод случайной картинки из рубрики «картинки». Возможно ли такое осуществить, если да, то что и куда надо вставить или изменить?
    Заранее большущее спасибо!

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
  • Нет аватара
    Vadimon 17.07.2011 в 02:33

    Алексей, вывести три анекдота из рубрики “Анекдоты” вам поможет код query_posts(‘cat=3&showposts=3′), где cat=3 номер id вашей рубрики “Анекдоты”, а случайные картинки можно вывести с помощью плагина, которых на офсайте вордпресс есть несколько. Можете выбрать, какой вам удобнее.

    VN:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VN:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
    • Нет аватара
      Алексей 18.07.2011 в 19:02

      Спасибо большое за помощь!

      VA:F [1.9.16_1159]
      Rating: 0.0/5 (0 votes cast)
      VA:F [1.9.16_1159]
      Rating: 0 (from 0 votes)
  • Нет аватара
    Алексей 20.07.2011 в 19:35

    не получается опубликовать код

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
  • Нет аватара
    Vadimon 22.07.2011 в 01:54

    Алексей, попробуйте опубликовать код, заключив его в теги code

    VN:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VN:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
  • Нет аватара
    Vadimon 25.07.2011 в 14:58

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

    VN:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VN:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
  • Нет аватара
    jmaster 02.08.2011 в 21:28

    Спасибо за статью …но у меня возник вопрос можно ли организовать вывод статей на главной так чтобы к примеру имея навигацию гланой типа страница 1 ,2,3 статьи на них не повторялись? то есть чтоб то что вывелось на главной после переключения на другую статьи не повторились?
    такое возможно?
    заранее спасибо..

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
  • Нет аватара
    Vadimon 03.08.2011 в 02:13

    jmaster, объясните мне, каким образом статьи будут повторяться, если вы будете переходить на другую страницу и у вас будут отображаться уже совершенно другие статьи на главной странице?

    VN:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VN:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
  • Нет аватара
    jmaster 06.08.2011 в 00:34

    Vadimon спасибо за интерес к моему коменту!
    все просто:
    все статьи у меня отображаются на главной в хронологическом порядке,
    установив на своем блоге плагин page-navi с параметром показов 5 на главной,и поставив данную функцию ,получилось так что при перещелкивание страниц периодически показываются те посты которые были на прошлых страницах(
    может необходимо сделать какую то связку с page navi?
    да и страницы фактически не переключаются,то есть отображается всегда первая!
    не подскажите что я сделал может не так?
    P.s пока данную функцию отключил…

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
  • Нет аватара
    Vadimon 07.08.2011 в 21:50

    jmaster, возможно, у вас некорректно работает плагин page-navi. Попробуйте проверить его в WordPress-теме по-умолчанию Twenty Ten.

    VN:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VN:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
  • Нет аватара
    Book 15.08.2011 в 09:07

    как вывести сначала нужные посты затем все остальные

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
  • Нет аватара
    Vadimon 18.08.2011 в 08:58

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

    VN:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VN:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
  • Нет аватара
    ruslana 21.09.2011 в 03:04

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

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
  • Нет аватара
    Vadimon 23.09.2011 в 14:19

    ruslana, а до того, как вы вывели рубрику на страницу тег more работал?

    VN:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VN:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
  • Нет аватара
    Алексей 20.10.2011 в 15:04

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

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
  • Нет аватара
    Наталья 28.10.2011 в 14:15

    А подскажите пожалуйста, как исправить: когда я вставляю код query_posts(‘cat=10&showposts=1′); для вывода одной последний записи на главной странице из рубрики id которой 10, то у меня переходя в категории(архивы) выводится тоже эта рубрика и одна статья из нее, вообщем все остальные рубрики и архивы ведут себя по этой же схеме. Как это исправить? Что бы к меня эта функция работала только на главной странице а не во всех остальных рубриках?
    Заранее благодарю!

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
  • Нет аватара
    Вячеслав 04.11.2011 в 09:10

    пробовал сокращенный вариант – ругается на `<` в самом начале кода, перед php. Подскажите, пожалуйста, что не так делаю?

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
  • Нет аватара
    Vadimon 07.11.2011 в 21:30

    Вячеслав, что за сокращенный вариант вы пробовали?

    VN:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VN:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
    • Нет аватара
      Вячеслав 08.11.2011 в 09:56

      в конце статьи, где надо просто ддобавить:

      VA:F [1.9.16_1159]
      Rating: 0.0/5 (0 votes cast)
      VA:F [1.9.16_1159]
      Rating: 0 (from 0 votes)
  • Нет аватара
    Vadimon 07.11.2011 в 21:36

    Наталья, добавьте в конце цикла функцию wp_reset_query()

    VN:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VN:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
  • Нет аватара
    Вячеслав 08.11.2011 в 09:58

    не вставилось :( В-общем, где последний кусочек кода в статье.

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
    • Нет аватара
      Vadimon 09.11.2011 в 19:40

      Вячеслав, в каком файле ругается на `<`?

      VN:F [1.9.16_1159]
      Rating: 0.0/5 (0 votes cast)
      VN:F [1.9.16_1159]
      Rating: 0 (from 0 votes)
      • Нет аватара
        Вячеслав 10.11.2011 в 07:45

        Чтобы Вам не соврать, уже не помню :( Не хватило терпения дождаться ответа и нашёл другой способ, как это реализовать :-[ А ту ошибку не зафиксировал. Делал всё по инструкции – основной блок вставлял в functions.php, второй кусочек в footer.php.

        VA:F [1.9.16_1159]
        Rating: 0.0/5 (0 votes cast)
        VA:F [1.9.16_1159]
        Rating: 0 (from 0 votes)
        • Нет аватара
          Иван 29.11.2011 в 19:30

          Вячеслав тут не нужно быть geek’ом чтобы понять что вы в functions.php вставив код
          ,надеюсь в конец страницы,совершили синтаксическую ошибку

          <a title="” href=”">

          по скольку файл functions.php уже в самом начале имел

          <a title="” href=”">

          В данной статье все коды указаны если при редактировании темы для WordPress файл functions.php не будет существовать или в нем будет отсутствовать какой либо код….

          VA:F [1.9.16_1159]
          Rating: 0.0/5 (0 votes cast)
          VA:F [1.9.16_1159]
          Rating: 0 (from 0 votes)
          • Нет аватара
            Вячеслав 29.11.2011 в 19:43

            Теперь дошло :) Спасибо большое за подсказку!

            VA:F [1.9.16_1159]
            Rating: 0.0/5 (0 votes cast)
            VA:F [1.9.16_1159]
            Rating: 0 (from 0 votes)
  • Нет аватара
    Алекс 08.12.2011 в 11:40

    Спасибо! Мучился долго с различными вставками в сайдбаре, а ваш код в functions – это идеальное решение, которое сразу сработало.

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
  • Нет аватара
    Трейлер 10.12.2011 в 22:35

    Подскажи пожалуйста, когда использую “orderby=rand” упорно выводятся последние посты вместо случайных. Уже весь мозг сломал, куда копать?

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
    • Нет аватара
      Vadimon 11.12.2011 в 10:44

      Может быть вы используете функцию вне основного цикла?

      VN:F [1.9.16_1159]
      Rating: 0.0/5 (0 votes cast)
      VN:F [1.9.16_1159]
      Rating: 0 (from 0 votes)
      • Нет аватара
        Трейлер 12.12.2011 в 21:46

        В шаблоне вот такой код:
        <?php $custom_query = new WP_Query("showposts=5&ignore_sticky_posts=1&orderby=rand");
        if ($custom_query->have_posts()) : while ($custom_query->have_posts()) : $custom_query->the_post(); ?>
        <?php include(TEMPLATEPATH . '/includes/fromblog_post.php'); ?>
        <?php endwhile; endif; wp_reset_postdata(); ?>
        <?php $post = $custom_query; ?>

        но он выводит последние посты
        нашел рабочий:
        <?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 } } ?>

        Подскажи пожалуйста как мне теперь объединить рабочий код со строкой


        <?php include(TEMPLATEPATH . '/includes/fromblog_post.php'); ?>

        там формируется строка с выводом превью и информация об авторе и дата

        или может что надо исправить в нерабочем коде чтобы он все-таки стал выводить рандомом, а не последние посты

        VA:F [1.9.16_1159]
        Rating: 0.0/5 (0 votes cast)
        VA:F [1.9.16_1159]
        Rating: 0 (from 0 votes)
  • Нет аватара
    Vadimon 12.12.2011 в 22:01

    Трейллер, именно за вывод ссылки на рандомную запись у вас отвечает строка:
    <li><a href="<?php echo get_permalink($postid); ?>" title="<?php echo $title ?>"><?php echo $title ?></a></li>
    поэтому подключить файл можно либо до этой строки, либо непосредственно после нее, в зависимости от того где именно вы хотите выводить этотфайл.

    VN:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VN:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
    • Нет аватара
      Трейлер 12.12.2011 в 22:54

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

      <?php $randompost = $wpdb->get_results("SELECT ID FROM $wpdb->posts WHERE post_status = 'publish' AND post_type = 'post' ORDER BY RAND() LIMIT $randomNumber");
      if ($randompost) {
      foreach ($randompost as $post) {
      $postid = $post->ID;
      $custom_query = new WP_Query("p=$postid");
      if ($custom_query->have_posts()) : while ($custom_query->have_posts()) : $custom_query->the_post(); ?>
      <?php include(TEMPLATEPATH . '/includes/fromblog_post.php'); ?>
      <?php endwhile; endif; wp_reset_postdata(); ?>
      <?php } } ?>

      VA:F [1.9.16_1159]
      Rating: 0.0/5 (0 votes cast)
      VA:F [1.9.16_1159]
      Rating: 0 (from 0 votes)
  • Нет аватара
    Joliat 17.12.2011 в 23:43

    А как вывести посты ID которых находятся в переменной $posts в виде: “44, 52, 62, 72, 81″
    Запрос :
    query_posts(‘”p=’.$posts.’”‘); global $more; $more = 0;

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

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
    • Нет аватара
      Vadimon 18.12.2011 в 17:20

      А что это за условие такое интересное?:
      '"p='.$posts.'"'

      VN:F [1.9.16_1159]
      Rating: 0.0/5 (0 votes cast)
      VN:F [1.9.16_1159]
      Rating: 0 (from 0 votes)
  • Нет аватара
    Richi 21.12.2011 в 06:41

    А как мне сделать запрос, который бы отдал мне несколько Страниц а не записей?
    например хочу получить несколько записей по их id

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
  • Нет аватара
    Иван 27.01.2012 в 12:47

    Добрый день! Как задать условие? К примеру, есть 3-ри страницы, я хочу чтобы на 1-ой странице выводились записи с категории “А”, на 2-ой странице с категории “B” и дальше в томже духе.

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
  • Нет аватара
    Виталий 28.02.2012 в 16:04

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

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
  • Нет аватара
    Петр 04.03.2012 в 14:45

    После вставления кода исчезает форма для комментария и выводится статья целиком. Между названиями случайно выведенных статей расстоянте такое будто это отдельные обзацы. ;)

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
  • Нет аватара
    Андрей 02.04.2012 в 00:42

    Первый подробный перечень атрибутов который я нашел, браво)
    Подскажите, как вывести список записей по конкретной Метке?
    Безразлично циклом или функцией, главное чтоб работало)))
    Спасибо!

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
    • Нет аватара
      Vadimon 06.04.2012 в 12:25

      Для вывода записей по метке, используйте атрибут tag, например:
      <?php query_posts('tag=auto'); ?>
      <?php if (have_posts()) : ?>
      <?php while (have_posts()) : the_posts(); ?>
      <?php endwile; ?>

      VN:F [1.9.16_1159]
      Rating: 0.0/5 (0 votes cast)
      VN:F [1.9.16_1159]
      Rating: 0 (from 0 votes)
  • Нет аватара
    Ольга 07.04.2012 в 23:06

    Вадим, не подскажете, как добавить в Ваш код показ первой картинки из поста?

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
    • Нет аватара
      Vadimon 07.04.2012 в 23:15

      Показ первой картинки осуществляется через функцию the_post_thumbnail.

      VN:F [1.9.16_1159]
      Rating: 0.0/5 (0 votes cast)
      VN:F [1.9.16_1159]
      Rating: 0 (from 0 votes)
      • Нет аватара
        Ольга 07.04.2012 в 23:33

        Я, к сожалению, кодить не научилась, не могли бы Вы вставить в код?

        VA:F [1.9.16_1159]
        Rating: 0.0/5 (0 votes cast)
        VA:F [1.9.16_1159]
        Rating: 0 (from 0 votes)
        • Нет аватара
          Vadimon 07.04.2012 в 23:37

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

          VN:F [1.9.16_1159]
          Rating: 0.0/5 (0 votes cast)
          VN:F [1.9.16_1159]
          Rating: 0 (from 0 votes)
          • Нет аватара
            Ольга 07.04.2012 в 23:39

            Спасибо, Вадим, буду ждать

            VA:F [1.9.16_1159]
            Rating: 0.0/5 (0 votes cast)
            VA:F [1.9.16_1159]
            Rating: 0 (from 0 votes)
  • Нет аватара
    Елена 12.04.2012 в 03:27

    Здравствуйте!
    Вставляю код, который дан Вами для примера и получаю вывод 10 записей, но только заголовки, не вывод краткой новости. Это так и задумано или я где-то ошиблась?

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
    • Нет аватара
      Vadimon 12.04.2012 в 03:44

      Если вы имеете ввиду последний код, то да, так и должно быть.
      Здесь в цикле выводится список только заголовков статей:
      <ul>
      <li><a title="<?php the_title(); ?>" href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
      </ul>

      VN:F [1.9.16_1159]
      Rating: 0.0/5 (0 votes cast)
      VN:F [1.9.16_1159]
      Rating: 0 (from 0 votes)
      • Нет аватара
        Елена 12.04.2012 в 17:54

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

        VA:F [1.9.16_1159]
        Rating: 0.0/5 (0 votes cast)
        VA:F [1.9.16_1159]
        Rating: 0 (from 0 votes)
        • Нет аватара
          Vadimon 13.04.2012 в 00:51

          Да. Можно воспользоваться для этого, например, условным тегом is_home. Пример:
          <?php if(is_home()) {
          randomPosts();
          } ?>

          VN:F [1.9.16_1159]
          Rating: 0.0/5 (0 votes cast)
          VN:F [1.9.16_1159]
          Rating: 0 (from 0 votes)
          • Нет аватара
            Елена 13.04.2012 в 18:10

            Спасибо большое! Буду пробовать!

            VA:F [1.9.16_1159]
            Rating: 0.0/5 (0 votes cast)
            VA:F [1.9.16_1159]
            Rating: 0 (from 0 votes)
  • Нет аватара
    Novosiolov 08.05.2012 в 00:20

    Подскажите, а как сделать так чтоб код цеплял кроме названия статьи ещё и фото с этой статьи?

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
    • Нет аватара
      Vadimon 10.05.2012 в 23:24

      Это уже совсем другая история. Есть разные способы и этому нужно посвящать отдельную статью.

      VN:F [1.9.16_1159]
      Rating: 0.0/5 (0 votes cast)
      VN:F [1.9.16_1159]
      Rating: 0 (from 0 votes)
  • Нет аватара
    Vergilius 08.05.2012 в 23:22

    Спасибо за пост, но есть одна проблема, решение которой пока я так и не смог найти.

    Например, у нас есть лента постов, которая разбивается на страницы по 10 записей. При использовании orderby=rand на каждой странице подгружается произвольный набор записей. Из-за этого записи, выводимые на разных страницах, могут дублироваться.

    Как можно реализовать проверку того, какие записи уже были выведены на предыдущих страницах и избежать повторов? В конкретно моем случае посты подгружаются аяксом в одно длинное полотно и поэтому их дублирование не уместно. Заранее благодарен.

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
  • Нет аватара
    Cако 27.07.2012 в 06:16

    Здравствуйте, задача такая:
    У меня на сайте http:my-mood.ru/comics/ есть раздел комиксы, нужно на отдельной странице выводить комиксы случайным образом, можно миниатюрами, так как на записях названий нету, но лучше всего весь комикс (хоть по одной без разницы)

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
  • Нет аватара
    Юлия 30.09.2012 в 20:30

    Добрый день. Подскажите, пожалуйста, как можно вывести в конце поста все статьи из этой категории (естественно, только заголовки). Обычно выводятся только похожие посты, но мне это не подходит. Буду очень признательна за помощь.

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
  • Нет аватара
    sputres 04.11.2012 в 20:04

    У меня что-то ничего не получается на сайте http://www.sputres.ru, ставлю код в index.php, что бы не отображал новости, все равно отображает, пока просто статичный текст на главную бросил

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
  • Нет аватара
    Алексей 13.12.2012 в 00:10

    Здравствуйте, за блогом еще следят? Дело в том, что возникла проблема, когда я попытался использовать вывод случайных записей в свою шапку…
    Смысл этой функции заключается в том, чтобы по щелчку выводились рандомные серии сериала, так вот…
    Установив код в нужном месте (способ брал, который реализуется через function.php, ставил в header), у меня на главной странице пропадает вывод всех записей и остается только одна запись, которая собственно и является “рандомной”, а остальные исчезают… Мало того, когда я перехожу по этой записи, то в “single” у меня исчезает форма комментариев…
    Могли бы вы помочь с данной проблемой?

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
  • Нет аватара
    Андрей 29.09.2013 в 20:18

    Здравствуйте, подскажите мне, а почему когда я вставляю этот код в index.php (чтобы выводилось на главной странице сверху), то обновляя сайт у меня обновляется не просто ссылка на рандомную запись, но и еще я сразу попадаю на страницу этой случайной записи. Как решить эту проблему, чтобы ссылка обновлялась и при этом выводились последние записи. Заранее спасибо !!!

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)

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

Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Получать новые комментарии по электронной почте. Вы можете подписаться без комментирования.

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

Если хотите быстро и оперативно получать последние новости и статьи, то рекомендуем подписаться на обновления блога по E-mail:

E-mail:

Последние комментарии

Друзья проекта