• ДОБРО ПОЖАЛОВАТЬ В КЛУБ ПО WORDPRESS

    Мы активно растущий клуб по WordPress и нам нужна помощь каждого человека, в том числе и Ваша! Не стесняйтесь и станьте частью большого сообщества.
    Мы делимся новостями, отытом и полезными советами! Пройдите простую регистрацию, чтобы пользоваться всеми возможностями нашего клуба.

    Присоединяйтесь к нам, вам обязательно понравится - Присоединится

Wordpress не видит количество записей в рубрике

fil

НОВИЧОК

fil

НОВИЧОК
Сообщения
6
Добрый день! Надеюсь вы сможете помочь мне решить проблему. Есть тема для блога. Файл index.php имел следующий код:

Код:
<?php get_header(); ?>

<div class="content section-inner">

                                                                                  
    <?php if (have_posts()) : ?>

        <?php
        $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
        $total_post_count = wp_count_posts();
        $published_post_count = $total_post_count->publish;
        $total_pages = ceil( $published_post_count / $posts_per_page );
  
        if ( "1" < $paged ) : ?>
  
<div class="page-title">
      
                <h4><?php printf( __('Page %s of %s', 'hitchcock'), $paged, $wp_query->max_num_pages ); ?></h4>
          
            </div> <!-- /page-title -->
      
            <div class="clear"></div>
  

  
        <?php endif; ?>
        <div class="posts" id="posts">
          
          <?php while (have_posts()) : the_post(); ?>
    
              <?php get_template_part( 'content', get_post_format() ); ?>
        
           <?php endwhile; ?>
      
           <div class="clear"></div>
          
        </div> <!-- /posts -->
  
    <?php endif; ?>

    <div class="clear"></div>

    <?php hitchcock_archive_navigation(); ?>
</div> <!-- /content -->                      
<?php get_footer(); ?>

Мне нужно было сделать вывод записей из определенной рубрики. Для этого я изменил код на:
Код:
<?php
/*
Template Name: stranyi
*/
?>

<?php get_header(); ?>
<div class="content section-inner">

<?php
$pc = new WP_Query(array( 'cat' => 8, 'orderby' => 'title', 'order' => 'ASC' ) ); ?>

        <?php
  $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
        $total_post_count = wp_count_posts();
        $published_post_count = $total_post_count->publish;

   
       ?>
                                                                       
<div class="page-title">

                <h4><?php printf( __('Page %s of %s', 'hitchcock'), $paged, $wp_query->max_num_pages ); ?></h4>
           
            </div> <!-- /page-title -->
       
            <div class="clear"></div>


        <div class="posts" id="posts">

<?php while ($pc->have_posts()) : $pc->the_post(); ?>


               <?php get_template_part( 'content', get_post_format() ); ?>
         
            <?php endwhile; ?>

     
            <div class="clear"></div>
         
        </div> <!-- /posts -->


    <div class="clear"></div>


    <?php hitchcock_archive_navigation(); ?>

<?php wp_reset_query() ?>         
</div> <!-- /content -->                       
<?php get_footer(); ?>
Записи выводятся, с этим все нормально. Но теперь не видно количество страниц в рубрике и из-за этого выводятся только первые 9 записей. Тема "hitchcock". Как мне исправить эту ошибку?

 
Кстати, а почему на форуме код вставился с таким блеклым цветом?
 
Последнее редактирование модератором:

Попай

АДМИНИСТРАТОР

Попай

АДМИНИСТРАТОР
Сообщения
3,247
Кстати, а почему на форуме код вставился с таким блеклым цветом?
Подсветку кода подправил.
 
fil, Так может надо настроить вывод постраничной навигации? Она есть у вас в теме?
 
Но теперь не видно количество страниц в рубрике
Не совсем понял страниц или записей? И где не выводится количество? И по идее оно никак не влияет на количество выводимых записей. У вас наверное настроено на странице выводить 9 записей.
 

fil

НОВИЧОК

fil

НОВИЧОК
Сообщения
6
Сейчас объясню: у меня, например 90 записей в рубрике "страны". На страницу выводится по 9 записей, значит должно быть на сайте навигация, что-нибудь типа "1 страница из 10". Оригинальный код показывал общее количество страниц. Когда я поменял его стало писать "1 страница из 0". Плагин ставил, но он не работает в этой теме. Как, например не работает Allonsea pack.
 

Попай

АДМИНИСТРАТОР

Попай

АДМИНИСТРАТОР
Сообщения
3,247

fil

НОВИЧОК

fil

НОВИЧОК
Сообщения
6
Нет, следующая страница не отображается. Я раньше вместо wp_query использовал query_posts тогда все работало. А теперь не знаю, как при использование wp_query передать количество записей в определенной рубрике.
 

Попай

АДМИНИСТРАТОР

Попай

АДМИНИСТРАТОР
Сообщения
3,247
Для вывода определенной категории попробуйте данный код:
PHP:
<?php query_posts('cat=8&showposts=5');  ?>
  <?php if (have_posts()) : while (have_posts()) : the_post(); ?>

cat=8 - номер категории
&showposts=5 - количество выводимых записей. Можно удалить если не нужны ограничения.
 

fil

НОВИЧОК

fil

НОВИЧОК
Сообщения
6
query_posts будет блог грузить, поэтому на wp_query перешел. Осталось только понять, как передать количество страниц в рубрике.
 

Попай

АДМИНИСТРАТОР

Попай

АДМИНИСТРАТОР
Сообщения
3,247

fil

НОВИЧОК

fil

НОВИЧОК
Сообщения
6
Мне так на форуме searchengines посоветовали:
"Что ж вы так все в это query_posts лезете. Потом будете засыпать форум вопросами "Почему все тормозит..."
WP_query используйте, с ним проблем на порядок меньше
После цикла не забываете wp_reset_query()"
плюс читал на сайте у Kama
 

Попай

АДМИНИСТРАТОР

Попай

АДМИНИСТРАТОР
Сообщения
3,247
Полазил по инету, нашел разные схожие проблемы. Потестировав получился рабочий вариант:
PHP:
<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$loopb = new WP_Query( array( 'cat' => '7', 'posts_per_page' => 2, 'paged' => $paged ) ); ?>
<?php while ( $loopb->have_posts() ) : $loopb->the_post(); ?>

<!--Шаблон вывода постов-->
 
<?php endwhile; ?>

<?php
if($loopb->max_num_pages>1){?>
    <p class="pagination">
    <?php
    for($i=1;$i<=$loopb->max_num_pages;$i++){?>
        <a href="<?php echo '?paged=' . $i; ?>" <?php echo ($paged==$i)? 'class="selected"':'';?>><?php echo $i;?></a>
        <?php
    }
    if($paged!=$loopb->max_num_pages){?>
        <a href="<?php echo '?paged=' . $i; //след. ссылка ?>">></a>
    <?php } ?>
    </p>
<?php } ?>

Надеюсь должно подойти.
 

Топ поддержки


Сверху