web-dev-qa-db-fra.com

Comment exclure le message actuel de la liste des messages récents

Je liste mes deux publications les plus récentes d'un widget sur la barre latérale. Lorsque je consulte l'un de ces messages à partir de single.php, je souhaite que ce message soit exclu de la liste et affiche plutôt le message suivant dans l'ordre.

single.php ressemble à ceci:

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

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

    [Content]

    <?php endwhile; else : ?>

    [If no post is found]

<?php endif; ?>

et voici le code dans le widget PHP:

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

    [Recent posts]

<?php endwhile;?>

Modifier - la solution:

<?php global $post; $args = array('showposts' => 2, 'post__not_in' => array( $post->ID )); query_posts( $args ); if (have_posts()) : while (have_posts()) : the_post(); ?>

    [Recent posts]

<?php endwhile; wp_reset_query(); endif; ?>
1
Lightshadow

L'argument post__not_in devrait fonctionner pour vous:

$args = array(
'numberposts' => 5,
'offset' => 0,
'category' => 7,
'post__not_in' => array( $post->ID )
);
$myposts2 = get_posts($args);
1
Andrew Hendrie