web-dev-qa-db-fra.com

WP_Query () renvoie null lorsque les résultats existent!

Je ne comprends vraiment pas.

Sur mon archive.php et category.php, il ne trouve aucun contenu. Je sais que les modèles corrects sont chargés, mais WP_Query ne trouve aucun contenu.

C'est ce que j'ai pour archive.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_the_date () renvoie la bonne année et le bon mois, alors pourquoi ne pas obtenir de résultats?

Extrait du dossier, à la demande:

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

La fonction is_single (utilisée dans votre fichier excerpt.php) ne renvoie vrai que lorsque la requête principale contient une seule publication. Comme vous appelez get_template_part à partir d'une page d'archives, votre requête contient plusieurs messages. is_single renvoie donc false et le fichier excerpt.php échoue. Supprimez la vérification pour is_single et vous devriez être prêt à partir.

En savoir plus sur is_single: http://codex.wordpress.org/Function_Reference/is_single

En savoir plus sur les tags conditionnels: http://codex.wordpress.org/Conditional_Tags

J'espère que cela t'aides.

2
kovshenin