当结果存在时,WP_Query()返回NULL!

时间:2012-10-16 作者:qwerty

我真的,真的不明白。

在我的档案中。php和类别。php它找不到任何内容。我知道加载了正确的模板,但WP\\u Query没有找到任何内容。

这是我存档的东西。php:

    <?php

    if($displayMobileTheme){
        get_template_part(\'page\', \'mobile\');
        exit;
    }
    get_header();

    echo \'<div class="blog-page">\';
    get_sidebar(\'blog\');
?>
    <h1>Arkiv: <?php echo ucfirst(get_the_date(\'F Y\')); ?></h1>
    <?php
    $blog = new WP_Query(array(
        \'post_type\'     => \'post\',
        \'year\'          => get_the_date(\'Y\'),
        \'monthnum\'      => get_the_date(\'n\')

    ));
    while($blog->have_posts()): $blog->the_post();
        get_template_part(\'excerpt\');
    endwhile;
    wp_reset_query();
    ?>

</div> <!-- blog page -->
<?php
    get_footer();
?>
get\\u the\\u date()返回正确的年份和月份,那么为什么我没有得到任何结果呢?

按要求摘录文件:

    <?php if(!is_single(get_the_ID())) : ?>
    <article class="hentry excerpt clearfix" id="post-<?php the_ID(); ?>">
        <header class="left">
            <h2 class="entry-title"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
            <small class="entry-meta author">
                <?php $post_categories = wp_get_post_categories(get_the_ID()); ?>
                Skrivet av <?php the_author(); ?> den <?php the_time(\'j F Y\'); ?>, 
                Kategorier: 
                <?php
                    $output = \'\';
                    foreach($post_categories as $c){
                        $cat = get_category($c);
                        $output .= \'<a href="\'.get_category_link($c).\'">\'.$cat->name.\'</a>, \';
                    }
                    echo substr($output, 0, -2);
                ?>
            </small>
        </header>
        <div class="entry-content left">
            <?php if(has_post_thumbnail()): ?>
                <a class="left" href="<?php the_permalink(); ?>" title="<?php the_title(); ?>">
                    <div class="img-wrapper">
                        <?php the_post_thumbnail(\'blog_thumb\', \'thumbnail\'); ?>
                    </div>
                </a>
            <?php endif; ?>

            <?php the_excerpt();?>
            <a href="<?php the_permalink(); ?>">Läs mer</a>
            </p>
        </div>
    </article>
<?php endif; ?>

1 个回复
最合适的回答,由SO网友:kovshenin 整理而成

这个is_single 函数(在execrpt.php文件中使用)仅当主查询包含一篇文章时才返回true。既然你打电话来了get_template_part 在存档页面中,您的查询包含多个帖子,因此is_single 返回false和您的摘录。php文件bails。删除检查is_single 你应该准备好了。

更多关于is_single: http://codex.wordpress.org/Function_Reference/is_single

有关条件标记的详细信息:http://codex.wordpress.org/Conditional_Tags

希望这有帮助。

结束