BloGGood.ru

Блог Костаневича Степана

WordPress, PHP, HTML, CSS, Windows

Блог на разные темы, seo-оптимизация, раскрутка сайта, создание сайта, вкусные эффекты для сайта и многое другое…

Главная » Wordpress » Вывод последних записей в wordpress

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

2013-02-23 / Вр:06:00 / просмотров: 30535

Мир Вам!!!;-)
Сегодня, в субботний вечер, я хочу рассказать, как можно вывести последние записи постов на блоге в WordPress. Эта процедура в плагине не нуждается, так как в самом Wordpress эта возможность есть. Итак, для вывода последних записей в Wordpress существуют два метода, возможно их и больше, но я знаю только два, о которых я и расскажу вам сейчас.

Смысл вывода последних записей? Вывод последних записей в wordpress

Смысл вывода последних записей?

Для чего вообще нужно выводить последние записи в блогах? Вывод свежих заметок  может оказаться нужным и полезным для  посетителя, задержать его на блоге. А если еще постараться и писать завлекающие заголовки к постам, то тогда это даст еще один плюс вашему блогу. Так же, вывод последних записей дает хороший плюс со стороны поисковых машин для ранжирования и перелинковки блога.
Совет: Например, на главной странице будет 4 записи, а в сайдбаре можно вывести последних 10 записей, такой метод очень удобный для читателя.

Вывод последних записей в wordpress.

[1] метод.
Этот метод позволит вывести последние записи в любой части блога без использования плагинов и виджетов.
Установите код вывода последних записей в ту часть сайта, где вам это необходимо. Откройте админ-панель => Внешний вид =>Редактор  => (это страницы, которые часто используют для вывода последних записей page.php, sidebar.php, single.php или footer.php).

<?php wp_get_archives('ENGINE=postbypost&limit=10'); ?>

limit=10 - число 10 - вывод количества последних записей. Укажите любое желаемое число.
Для оформления внешнего вида вам потребуется знать основы CSS.

[2] метод.
В этом методе используется стандартный виджет и снова все без участия плагина.
Для вывода последних записей существует специальный виджет с названием "Свежие записи".  Зайдите в админ-панель => Внешний вид =>Виджеты.

Вывод последних записей в wordpress через виджет

В виджитах найдите "Свежие записи". Перетащите "Свежие записи" мышкой в сайдбар или в другое место, где вы желаете видеть вывод последних записей.

Вывод последних записей в wordpress через виджет

После перетаскивания открывается окно "Свежие записи". В этом окне настраиваем блок виджета,  пишем  название (например, "Свежие записи", "Самое свежее на блоге", "Последние записи", "Новое записи" и т. д.),  указываем количество записей, которые будут выводиться и жмем кнопку "Сохранить".

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

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

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

Получай обновления блога!!! Подпишись:

Популярные статьи:

70 Ответов на комментарий - Вывод последних записей в wordpress

  1. Анатолий

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

  2. Avatar photo ☼ Степан ☼ автор блога

    Анатолий, может вам нужен вывод не последних записей а похожих? Посмотрите вот эту статью:
    /wordpress/kak-vyvesti-poxozhie-zapisi-bez-plagina.html/

  3. Avatar photo ☼ Степан ☼ автор блога

    Анатолий, если проблема не решена, попробуйте поставить этот код в шаблон вашей темы – “Одна запись (single.php)”.

    <h2>Последние новости категории:</h2>
    <?php
    $categories = get_the_category($post->ID);
    if ($categories) {
     $category_ids = array();
     foreach($categories as $individual_category) $category_ids[] = $individual_category->term_id;
     $args=array(
     'category__in' => $category_ids,
     'post__not_in' => array($post->ID),
     'showposts'=>4,
     'caller_get_posts'=>1);
     $my_query = new wp_query($args);
     if( $my_query->have_posts() ) {
     echo '<ul>';
     while ($my_query->have_posts()) {
     $my_query->the_post();
    ?>
    <li><a href="<?php the_permalink() ? rel="nofollow">" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_post_thumbnail(); ?><?php the_title(); ?></a></li>
    <?php
    }
    echo '</ul>';
    }
    wp_reset_query();
    }
    ?>  
  4. Алексей

    Спасибо за код! Моему блогу подошел. Поставил его на странице 404. :!:

  5. Avatar photo Степан => автор блога

    Пожалуйста!

  6. Алексей

    Приветствую, Степан.
    Вопрос не много не в тему, но не могу на него найти ответ.
    В стандартном виджете «Свежие записи»
    При добавлении записи с длинным заголовком верхняя налазит на нижнюю.
    Как сделать, чтоб они не перекрывались, а был стандартный отступ.
    При изменением css получается большой отступ между короткими заголовками меню. Для длинных выглядит нормально, а вот если по-короче, то выглядит не очень.
    Размер сайдбара 210рх.

    Подскажите, как это можно подправить?

  7. Avatar photo Степан => автор блога

    Здравствуйте, Алексей! Дайте адрес сайта, хочу посмотреть на проблему!

  8. Алексей

    Спасибо, Степан.
    Разобрался. Нужно было height:auto поставить.

  9. Александр

    Здравствуйте. А подскажете как выводить последние созданные страницы, а не записи?

  10. Avatar photo Степан => автор блога

    Здравствуйте, Александр! Могу предложить Вам, вот такой код:

    <ul>
    <?php
    wp_list_pages('sort_order=DESC'); ?>
    </ul>
    
  11. Александр

    Спасибо что ответили, но к сожалению на моём сайте такой код выводит только меню которое и так находится в шапке сайта.
    Буду гуглить дальше :|

  12. Avatar photo Степан => автор блога

    Александр, если найдете ответ, обязательно напишите в комментариях, самому интересно!

  13. Александр

    Нет проблем, обязательно найду решение и обязательно отпишусь! Сегодня просто руки не до шли до этого. ;-)

  14. Роман

    Доброй ночи! Вот ищу по сети функцию – как вывести последние комментируемые записи… Нигде нет, Вы случайно не знаете как можно реализовать эту функцию?

  15. Avatar photo Степан => автор блога

    Доброй ночи, Роман! Специально для Вас нахимичил код. Надеюсь, Вы останетесь довольны.

    <?php
    $query = "SELECT * from $wpdb->comments WHERE comment_approved= '1'
    ORDER BY comment_date DESC LIMIT 0 ,5";
    $comments = $wpdb->get_results($query);
    if ($comments) {
    
         foreach ($comments as $comment) {
            $url = '<a href="'. get_permalink($comment->comment_post_ID).'#comment-'.$comment->comment_ID .'" title="'.$comment->comment_author .' | '.get_the_title($comment->comment_post_ID).'">';
            echo '<center><table border="0" cellspacing="0" cellpadding="2" width="95%"><tbody><tr>';
            echo '<td valign="top">';
            echo '</td>';
            echo '<td>';
            echo $url;
            echo get_the_title($comment->comment_post_ID);
            echo '</td>';
            echo '</tr></tbody></table></center>';
        }
    
    }
    ?>
    
  16. Роман

    Вот это опперативность :smile: спасибо огромное, не мог найти решение этой проблемы на протяжении недели… а тут Степан решил проблему в миг :smile:

  17. Роман

    Сможете помочь еще в одном вопросе?
    Ваш код отлично работает, только можно сделать так чтобы записи не повторялись, т.е.
    у меня такая ситуация идет вывод статей:
    Бесплатные прогнозы на 25 августа
    Бесплатные прогнозы на 25 августа
    Бесплатные прогнозы на 24 августа
    Бесплатные прогнозы на 24 августа
    live стратегия на футбол (гол+)
    а хотелось бы чтобы появлялись только записи без повторений типа:
    Бесплатные прогнозы на 25 августа
    Бесплатные прогнозы на 24 августа
    live стратегия на футбол (гол+)
    ….
    ….

  18. Олег Манерный

    Нужно в строке №2 добавить оператор DISTINCT.

    Вот так вот:

    $query = "SELECT DISTINCT * from $wpdb->comments WHERE comment_approved= '1'
    ORDER BY comment_date DESC LIMIT 0 ,5";
    
  19. Роман

    не работает, все также при оставление на запись нескольких комментариев, запись отображается несколько раз :sad:

  20. Олег Манерный

    В этой строке вместо звёздочки * нужно написать название поля(столбца) (надо смотреть в phpmyAdmin), в котором содержатся названия статей

    Бесплатные прогнозы на 25 августа
    Бесплатные прогнозы на 25 августа
    Бесплатные прогнозы на 24 августа
    Бесплатные прогнозы на 24 августа
    live стратегия на футбол (гол+)

  21. Александр

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

  22. Avatar photo Степан => автор блога

    Здравствуйте, Александр! Таким способом вывести новые записи с миниатюрами не можно!

  23. Роман

    для каждой статьи отдельно прописывать?? :shock:

  24. Марина

    Здравствуйте! Подскажите пожалуйста как вывести последние сообщения из разных категорий на главную страницу, например, как в этом шаблоне [ссылка удалена] Можно сделать хотя бы что-то приблизительное? Заранее спасибо!

  25. Avatar photo Степан => автор блога

    Здравствуйте, Марина! Пробовал придумать, что-то с кодом, но увы, не вышло! :(

  26. Drval

    Если материалы в разных таблицах, то так:

    (SELECT `имя_столбца_заголовка_статьи`, `имя_столбца_содержимого_статьи`, ..., `имя_столбца_n` FROM `имя_таблицы_1`) UNION (SELECT `имя_столбца_заголовка_статьи`, `имя_столбца_содержимого_статьи`, ..., `имя_столбца_n` FROM `имя_таблицы_2`) UNION (SELECT `имя_столбца_заголовка_статьи`, `имя_столбца_содержимого_статьи`, ..., `имя_столбца_n` FROM `имя_таблицы_3`)

    Если в одной таблице, а название категории задается в одном из столбцов этой таблицы, то так:

    SELECT `имя_столбца_заголовка_статьи`, `имя_столбца_содержимого_статьи`, ..., `имя_столбца_n` FROM `имя_таблицы` WHERE `имя_столбца_категории`='название_категории_или_ее_номер_1' AND `имя_столбца_категории`='название_категории_или_ее_номер_2'
     AND `имя_столбца_категории`='название_категории_или_ее_номер_1'
  27. Данила

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

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

    Код, который я использую:
    functions.php

    <?php 
    function catch_that_image() {
    global $post, $posts;
    $first_img = '';
    ob_start();
    ob_end_clean();
    $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
    $first_img = $matches [1] [0];
    												// no image found display default image instead
    if(empty($first_img)){
    $first_img = "NOIMAGE.png";
    }
    return $first_img;
    } 
     ?>
     

    sidebar.php

    <div id="">
    <?php $posts = get_posts('orderby=rand&numberposts=10');
    foreach($posts as $post) { ?>
    <li><a href="<?php the_permalink(); ?>
    " title="<?php the_title(); ?>"><img title="<?php the_title(); ?>" src="<?php echo catch_that_image( ); ?>" alt="<?php the_title(); ?>" width="150" /><span class="title"><?php the_title(); ?></span></a>
    </li>
    <?php } ?>
    </div>
    

    Надеюсь, что понятно изложил суть вопроса…))

  28. Avatar photo Степан => автор блога

    Здравствуйте! А почему бы Вам просто не использовать вывод миниатюры стандартным способом?!
    Ваш шаблон поддерживает вывод миниатюр?

  29. Данила

    Поддерживает. Но не всегда есть возможность туда картинку ставить.

  30. Данила

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

  31. Данила

    Кстати написал не в той теме которой надо было. Вот про это на Вашем блоге /wordpress/kak-v-anonse-vyvesti-pervuyu-kartinku-posta-na-wordpress.html/

    Только для моих целей тот код тоже не совсем подходит.

  32. Олег Манерный

    вместо звёздочки * нужно прописать название одного столбца, просто я не знаю как он у вас называется

  33. Avatar photo Степан => автор блога

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

  34. Данила

    В том-то и дело. Не знаете как это сделать?

  35. Данила

    Степан очень хочется получить от Вас ответ)) Буду очень благодарен. Хотя я и так благодарен.

  36. Avatar photo Степан => автор блога

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

  37. Данила

    Хорошо. Буду ждать Вашего сообщения тут) спасибо большое что согласились помочь!

  38. Avatar photo Степан => автор блога
    // Вывод первой картинки с поста
    
    function bloggood_ru_image() {
      global $post, $posts;
      $first_img = '';
      ob_start();
      ob_end_clean();
      $output = preg_match_all('/<img.+src=[\'"]([^\'"]+).*>/i', $post->post_content, $matches); // выдираем первый имагес
      $first_img = str_replace('300x230', '1024x787', $matches [1] [0]);
      
     
    // Если картинка в посте отсутствует, тогда выводим изображение по умолчанию (указать путь и имя к картинке)
      if(empty($first_img)){
       $first_img = "/img/default.jpg";
      }
      return $first_img;
    }
    

    Обратите внимание на строку №9

    $first_img = str_replace('300x230', '1024x787', $matches [1] [0]);
    

    300×230 – это тот размер, что выводиться у вас на сайте. Если у вас другой размер, замените.
    1024×787 – это размер картинки который будет выводиться. Если у вас другие размеры картинки, пропишете на свои.

    Код работает, тестировал.
    Надеюсь объяснил все понятливо.

  39. Данила

    Очень ждал ответа Вашего! Спасибо. Буду тестировать. Как только проверю сразу отпишусь. Еще раз спасибо!

  40. Данила

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

    Скажите а можно ли как то подтянуть миниатюры изображений, которые в статье размещены. Те что нарезаются по 150*150 (у меня так).

  41. Данила

    Еще раз попробовал и тоже самое. Какого размера изображение разместил в посте, такое оно в миниатюру и выводит. Например разместил 1200px на 1200px в миниатюре такой же размер только визуально сжатый условиями css. То есть если в отдельном окне открыть эту миниатюру (“правая клавиша мыши” и далее “открыть картинку в отдельной вкладке”) то видно что открывается именно тот размер который загружен в пост.

  42. Avatar photo Степан => автор блога

    Дайте адрес сайта и укажите, какие размеры нарезает wordpress

  43. Данила

    Здравствуйте снова! Дайте совет по такому вопросу:

    Есть такой код:

    <?php $posts = get_posts('orderby=rand&numberposts=5'); foreach($posts as $post) { ?>
    <li>
    	<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><img title="<?php the_title(); ?>" src="<?php echo catch_that_image( ); ?>" alt="<?php the_title(); ?>" width="150" /><span class="title"><?php the_title(); ?></span></a>
    </li>
    <?php } ?>
    

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

  44. Данила

    Нет мыслей на эту тему?

  45. Данила

    Нашел ответ. Вот делюсь может кому еще пригодится.

    <ul>
        <?php
          $rand_posts = get_posts('numberposts=7&orderby=rand&cat=1');
          foreach($rand_posts as $post) :
        ?>
    	<li>
    		<a href="<?php the_permalink(); ?>">
    <img title="<?php the_title(); ?>" src="<?php echo catch_that_image( ); ?>" alt="<?php the_title(); ?>" width="150" />
          <span class="title"><?php the_title(); ?></span></a>
    	</li>
    	<?php endforeach; ?>
      </ul>
  46. Avatar photo Степан => автор блога

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

  47. Данила

    В принципе да. Надо было цикл закрыть

  48. Данила

    Извиняюсь, что не отписался. Из прошлого коммента заметил, что тут висит не закрытая тема обсуждения. Сайта этого в сети пока нет.Размеры миниатюр 200*200.

    Кстати по теме общения, мы точно об одном и том же пишем или может я как то не так объяснил что мне необходимо…?

  49. Avatar photo Степан => автор блога

    Все нормально, я, Данила, вас понял! Я пробовал на тестовых проделать такое, код работает на все 100%. Вот потому и мне нужен ваш сайт, чтобы глянуть, почему у вас не работает этот скрипт.

  50. Александр

    Подскажите, а реально вывести список последних статей их блога на обычном статичном промо-сайте написанном на php?

    Так как сайт сам расположен на домен.ру, а блог лежит в домен.ру/blog/

    Реально вообще такое сделать?

  51. Avatar photo Степан => автор блога

    Если вы используете для сайта БД (базу данных), тогда вывести список последних статей можно!

  52. Андрей

    Спасибо большое, весь интернет обшарил и только у вас нашел как вывести список записей.. остальные все лечат каким-то длинными функциями. Дилетанты, тут одна строчка все выводи :!:

  53. Avatar photo Степан => автор блога

    Пожалуйста, Андрей! Рад, что моя статья оказалась вам полезной.
    Надеюсь, что вы на моем блоге найдете еще что-то полезное :smile:

  54. Владимир

    Здравствуйте, Степан! Есть задачка, которую не могу решить. Может быть Вам будет интересно ее решить. Вордпресс установлен в папке http ://мойсайт.ru/фордпресс/
    Как можно вывести последние записи из вордпресс на главную страницу сайта?

  55. Avatar photo Степан => автор блога

    В файле “index.php” вашей темы ставите код:

    <?php wp_get_archives('ENGINE=postbypost&limit=10'); ?>
    
  56. Владимир

    Спасибо за ответ! Уточню, вордпресс залит на сайте в папку http ://мойсайт.ru/фордпресс/, а последние записи нужно вывести на страницу http ://мойсайт.ru/index.php

  57. Avatar photo Степан => автор блога

    Не совсем! В папку wp-content/themes/ваша тема/index.php выводите последние записи

  58. Владимир

    С выводом последних записей на главной странице вордпресс все понятно, Вы все описали. Задача состоит в выводе сообщений на страницу за пределы вордпресс. Вот сайт, я сделал при помощи iframe страницу rss, но хочется сделать индексируемый текст. [ссылка удалена] Вордпресс по ссылке “Объявления”.

  59. Владимир

    Спасибо, Степан! Нашел, нужно все же документацию читать :idea:

  60. Оксана

    Доброй ночи, Степан.
    У меня такая же проблема, как у Романа
    Как вывести последние комментируемые записи…
    1. код, который вы показали – его где нужно вставить?
    2. можно ли сделать, к примеру виджет АКТУАЛЬНОЕ: с показом 1 картинки и ссылкой, но чтобы она менялась как слайдер из последних оставленных комментов к обзорам.
    то есть. например появился 1 коммент к одной статье сегодня – показало в виджете.
    завтра откомментили другую статью – показывает другую.
    с миниатюрами записи если можно..

    Буду очень ждать вашей помощи. спасибо большое!

  61. Avatar photo Степан => автор блога

    Здравствуйте, Оксана!
    Ответы:
    – на 1 вопрос:
    Откройте админ-панель => Внешний вид =>Редактор => (это страницы, которые часто используют для вывода последних записей page.php, sidebar.php, single.php или footer.php). Вставляете в том месте, где Вы желаете, чтобы выводились последние записи.
    – на 2 вопрос:
    Если Вас интересует, как вывести самые комментируемые записи без плагина на WordPress, читайте тут. Там все как вы хотите. Выводиться с миниатюрами.

  62. Оксана

    Степан, здравствуйте!
    Спасибо большое, что помогаете людям!
    Степан, у меня вопрос: как сделать Последние комментарии = активной кнопкой, чтобы открывалось по типу Ленты Активности как на форумах?
    Вот такого вида: _http://bankiforum.ru/activity.php

    то есть возвратившиеся пользователи пропускают обновления на моем сайте.

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

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

    моя тема шаблона: Travelify
    Большое спасибо за помощь.

  63. Оксана

    ув. Степан. Я так поняла мне нужно сделать следующее:
    Создать страницу в ВП, создать для нее файл темы, вставить туда код “последние 100 комментов”. Под текущим кодом в сайдбаре вставить ссылку на созданную страницу.

    Не могли бы Вы помочь с кодом.. я просто в html к сожалению ноль(( Спасибо Вам большое.

  64. Avatar photo Степан => автор блога

    Здравствуйте, Оксана! Я так понял, Вам нужно вывести самые последние комментарии на блоге? Если да, почитайте вот эту статью

  65. Avatar photo Степан => автор блога

    На каком вы сейчас этапе? Создали новую страницу?

  66. Алена

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

  67. Avatar photo Степан => автор блога

    Здравствуйте, Алена!
    Не совсем Вас понял. Но наверно Вам нужно вот это:
    “Настройки” => “Общие” и там вы найдете внизу “Формат даты”

  68. Алена

    Спасибо! Попробую

  69. Илья

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

  70. Avatar photo Степан => автор блога

    Здравствуйте, Илья!
    Попробуйте, должно получится.

Добавить комментарий

;-) :| :x :twisted: :smokes: :smile: :shock: :sad: :rose: :roll: :razz: :pop-corne: :oops: :o :mrgreen: :lol: :idea: :grin: :gazeta: :evil: :cry: :cool: :coffe: :arrow: :???: :?: :!:

Чтобы добавить в комментарий код HTML, PHP, CSS, JavaScript, нужно сделать так: [code] ваш код [/code]

Метки: ,

Мои цели на 2018-2019:

1). Закончить тему «Bootstrap»

2). Закончить тему «Все про PHP и MySQL»

3). Создать портфолио и мини интернет-магазин шаблонов

4). Довести количество статей до 800

5). Добиться посещаемости 3000 человек/сутки

6). Увеличить число подписчиков до 250

Статистика по блогу

Количество записей на блоге: 810
Количество страниц на блоге: 20
Количество рубрик на блоге: 28
Количество меток на блоге: 72
Количество комментариев на блоге: 4716