quel serait le meilleur moyen d'exclure le message en cours que je suis en train de consulter de cette requête en messages récents. Je vous remercie!
<?php
global $post;
if (in_category('top-lists')) {
$myposts2 = get_posts('numberposts=5&offset=0&category=7');
}
else if (in_category('playlists') || in_category('playlistall')) {
$myposts2 = get_posts('numberposts=5&offset=0&category=6,37');
}
else if (in_category('news') || in_category('news')) {
$myposts2 = get_posts('numberposts=5&offset=0&category=95');
}
else {
$myposts2 = get_posts('numberposts=5&offset=0&category=-6,-7,-37,-95,-177');
}
foreach($myposts2 as $post) :
?>
Cet argument post__not_in
devrait vous convenir:
$args = array(
'numberposts' => 5,
'offset' => 0,
'category' => 7,
'post__not_in' => array( $post->ID )
);
$myposts2 = get_posts($args);
Ajoutez ceci à vos $ args
'post__not_in' => array( get_the_ID() )
De cette façon, vous n'aurez plus à obtenir l'ID de l'article actuel et vous éviterez potentiellement des erreurs d'obtention de votre ID. La fonction get_the_ID () obtient simplement l'ID pour vous afin que vous n'ayez rien à faire ou à faire.
Ajouter le code ci-dessous dans le fichier functions.php du thème actif
function be_exclude_current_post( $args ) {
if( is_singular() && !isset( $args['post__in'] ) )
$args['post__not_in'] = array( get_the_ID() );
return $args;
}
add_filter( 'widget_posts_args', 'be_exclude_current_post' );