2015-02-26 2 views
-1

У меня была специальная тема для Wordpress, но теперь я не могу завладеть оригинальным человеком, который это сделал.Wordpress нефильтрованные/сортировочные категории

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

Может ли кто-нибудь из вас добрых людей указать мне в сторону того, что мне нужно искать на странице category.php, пожалуйста? (См ниже)

<?php if (is_day()) : ?> 
      <h1 class="page-title"><?php printf(__('Daily Archives: <span>%s</span>', 'your-theme'), get_the_time(get_option('date_format'))) ?></h1> 

<?php elseif (is_month()) : ?> 
      <h1 class="page-title"><?php printf(__('Monthly Archives:<span> 

<?php $archive_query = new WP_Query('showposts=1000'); 
      while ($archive_query->have_posts()) : $archive_query->the_post(); ?> 

        <div class="row"> 
    <div class="span3"> 


      <?php the_post_thumbnail('full');?> 
      </div> 

        <div class="span5"> 

      <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>> 
       <h2 class="entry-title"><a href="<?php the_permalink(); ?>" title="<?php printf(__('Permalink to %s', 'your-theme'), the_title_attribute('echo=0')); ?>" rel="bookmark"><?php the_title(); ?></a></h2> 

       <div class="entry-summary"> 
<?php the_content(__('Continue reading <span class="meta-nav"> 
       </div><!-- .entry-summary --> 

      </div><!-- #post-<?php the_ID(); ?> --> 
      </div> 
           </div> 

         <?php endwhile; ?> 

я сверху удалить код, поскольку он не позволил бы мне мимо него, за которой не наполняя меня с уверенностью ТБМ.

Я не Wordpress поклонника, но знать основы (я думаю)

Заранее спасибо

+0

что ожидается от вашего кода. Никогда не используйте пользовательские запросы на страницах архива. Вместо этого используйте 'pre_get_posts', чтобы изменить основной запрос. –

+0

Я предполагаю, что это будет начальная часть

+0

Исправить :-). Просто не забудьте удалить часть '$ archive_query->' из цикла, а также –

ответ

0

Вы никогда не должны заменить основной запрос на архивных страницах или на домашней странице с пользовательским запросом, вы всегда будет работать в какой-то вопрос, как вы испытали в настоящее время :-)

Чтобы устранить проблему, удалите эту часть

<?php 
$archive_query = new WP_Query('showposts=1000'); 

while ($archive_query->have_posts()) : 
    $archive_query->the_post(); ?> 

И repla се это с

<?php 
while(have_posts()) : 
    the_post(); 

Теперь вы должны увидеть правильные сообщения показ

Если вам нужно изменить что-то в главном запросе, сделайте это с pre_get_posts. Давайте возьмем ваш пример кода. Вам нужно изменить posts_per_page 1000 на всех страницах архива, то вы можете сделать следующее в вашем functions.php

add_action('pre_get_posts', function ($q) { 

    if (!is_admin() && $q->is_main_query() && $q->is_archive()) { 
     $q->set('posts_per_page', 1000); 
    } 

}); 

Просто убедитесь, что приведенный выше код нужен PHP 5.3+

+0

Большое спасибо. Я попробую это позже и дам вам знать, как я нахожусь. Очень ценится ;-) –

+0

Нет проблем, не торопитесь. :-) –

+0

Питер, ты ученый и джентльмен. Работала отлично. Благодарю вас. –

Смежные вопросы