WordPress несколько приёмов подсчета количества записей на страницах блога

1) Считаем количество записей в результатах поиска по запросу http://example.com/?s=поисковый_запрос:

<?php 
  $res_search = &new WP_Query("s=$s&showposts=-1"); 
  // получаем количество найденных материалов и выводим их
  $count = $res_search->post_count;
  print $count; 
  // почистим всё за собой
  wp_reset_query(); 
  unset($res_search, $count);
?>

Версия PHP: 4.0.1 и выше. Версия CMS: 3.0.1-3.3.1.

2) Узнаем количество записей, выведенных только на текущей странице:

<?php
  print count($posts);
?>

Впишите где-нибудь перед/после цикла показа "постов". Проверял на WordPress 3.3.1.

3) Программно получим максимально возможное количество записей на 1 странице:

<?php
  print get_option("posts_per_page");
?>

В данном случае я просто вывел на экран опцию из системной таблицы "префикс_заданный_при_установке_options".

4) Почитаем сколько же на сайте опубликованных записей :

<?php
  $my_count_posts = wp_count_posts();
  print $my_count_posts->publish;
?>

За подробностями: читаем Кодекс.

5) И наконец пятый пример: вручную узнаем нужно ли показывать ссылки навигации на странице:

<?php
  global $wp_query;
  if ($wp_query->max_num_pages > 1) : ?>
      <div class="my_begin_style"></div>
      <div class="post">
        <div class="fl_left"><?php previous_posts_link('&larr; Предыдущая запись'); ?></div>
        <div class="fl_right"><?php next_posts_link('Следущая запись &rarr;'); ?></div>
        <div style="my_end_style"></div>
      </div>
    <?php
  endif;
?>

Тестировал на WordPress: 3.3.1. Ключевыми здесь являются первые две-три строчки кода. Обратите на них внимание. Для чего можно использовать подобный трюк? Ну к примеру, если у вас  в HTML-вертске предусмотрена отдельная специфичная разметка для навигации, которая не должна показываться "там, где не следует".





© 2012-2014 Druweb.ru. Вы можете спокойно копировать любые материалы сайта только при наличии обратной ссылки.