Жизнь это - мгновения, промежутки. Ночь ушла, солнце скоро взойдет. Сделайте эти промежутки настолько прекрасными насколько это возможно - наполненными молчанием, наполненными благодарностью к существованию, которое дало вам шанс, благодарностью по отношению ко всем тем, кто вам помог. И ждите.


3 июля 2011 г.

Последние заметки из каждой категории в WordPress


Что такое новостной формат шаблона? По сути, это несколько последних заметок из каждой категории на главной странице. Остается лишь разобраться, как это сделать в WordPress.
Здравствуйте, уважаемые посетители моего блога CrazyLog.co.ua. Что такое новостной формат шаблона? По сути, это несколько последних заметок из каждой категории на главной странице. Остается лишь разобраться, как это сделать в WordPress.
На самом деле существует ряд уже готовых решений. Например, мне удалось найти такой плагин как Latest Post from each Category от Dagon Design. Примечательно, что плагин рассчитан как на новый версии движка WordPress так и более старые.
Впрочем, стоит ли городить огород там, где можно воспользоваться стандартными функциями WordPress? Покопавшись в Интернете я нашел вот такое не хитрое решение:

$cat_args=array(
  'include' => '42,6,8′,
  'orderby' => 'name',
  'order' => 'ASC'
);
$categories = get_categories($cat_args);
foreach($categories as $category) {
  $post_args=array(
    'showposts' => 3,
    'category__in' => array($category->term_id),
    'caller_get_posts'=>1
  );
  $posts=get_posts($post_args);
  if ($posts) {
    echo '

Category: name ) . '" ' . '>' . $category->name.'
';
    foreach($posts as $post) {
      setup_postdata($post);
      echo '' . the_title("","",false); . '
';
    }
  }
}

Давайте разбираться, что здесь да как.
  1. В начале нам необходимо получить данные категорий. Для чего мы используем WordPress-функцию get_categories(), с соответствующими параметрами. В приведенном примере указаны: идентификаторы конкретных категорий (includes), поле сортировки (orderby) и тип сортировки (sort).
  2. Далее для каждой из категорий нам необходимо получить последние записи. Для чего мы используем WordPress-функцию get_posts() (не путать с get_post()), с соответствующими параметрами. В приведенном примере указаны: количество заметок (showposts), категория которой соответствуют заметки (cateory__in) и приоритет для «стикеров» (caller_get_posts).
  3. Теперь нам остается только вывести полученные данные. Примечательно, что мы используем WordPress-функцию setup_postdata(), которая автоматически заполняет необходимые переменные.
Конечно, можно ещё поэкспериментировать с параметрами, оформлением и т.д., но суть от этого не меняется. Чем и как воспользоваться – решайте сами, а у меня всё и спасибо за внимание.

Комментариев нет:

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