J'ai un type de message personnalisé nommé 'NEWS'
où j'ai déjà publié 52 messages à la fois. Maintenant, en face, j'aimerais les afficher ONE NEWS
pour ONE WEEK
. Donc 52 NOUVELLES couvriront un an pour moi.
Ma question, comment puis-je exécuter la requête et planifier pour afficher 1 News pour 1 semaine. Il n'y a pas de problème obligatoire que pour certaines NEWS pour certaines SEMAINES. Il suffit de l’afficher en mode décroissant/descendant pour chaque semaine.
Vraiment apprécier si quelqu'un peut aider à se débarrasser de ce problème.
Merci d'avance.
Il existe un grand nombre de moyens pour atteindre cet objectif et l'optimiser pour le rendre également efficace.
Voici juste une idée de base pour y parvenir en utilisant le paramètre offset
dans WP_Query
et en utilisant la fonction php date()
pour obtenir le numéro de la semaine en cours.
D'abord, vous devriez obtenir le numéro de la semaine en cours avec date( 'W' )
. Vous pouvez décider de prendre cela comme point de départ, ce qui sera 15
cette semaine. Vous pouvez également décider de commencer à 1 en déduisant 15 moins 1 de la semaine en cours. A partir du 1er janvier, vous devrez recalculer cela différemment pour obtenir le décalage correct. Vous pouvez jouer avec cela pour répondre à vos besoins
Ensuite, calcule la offset
. Le décalage correspond à la semaine en cours moins 1 pour vous assurer que votre premier décalage est 0
pour obtenir le premier message et 51
pour obtenir le 52ème message (dernier message).
Voici un exemple de requête pour commencer cette semaine à 15
; ( Ceci est juste la base, pensez à réinitialiser votre requête avec wp_reset_postdata()
)
$args = array(
'post_type' => 'news',
'posts_per_page' => 1,
'no_found_rows' => true,
'offset' => (date( 'W' ) - 1)
);
$q = new WP_Query( $args );
var_dump( $q->posts );
Cela devrait vous donner un article du type d'article news
qui changera une fois par semaine avec le début de la nouvelle semaine.