Wordpress不过滤/排序类别

时间:2015-02-26 10:40:51

标签: php wordpress categories

我已经完成了自定义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爱好者,但了解基础知识(我认为)

提前致谢

1 个答案:

答案 0 :(得分:0)

您永远不应该使用自定义查询替换存档页面或主页上的主查询,您将遇到现在遇到的某种问题: - )

要解决您的问题,请删除此部分

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

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

并将其替换为

<?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 +