Comment créer des articles épinglés dynamiques dans wordpress ?
La fonction d'un article épinglé est d'attirer l'attention des lecteurs pendant une longue période. Il peut indiquer l'introduction du site, la déclaration de droits d'auteur, les principes d'échange de liens amicaux, etc. pour créer un article épinglé dynamique pour WordPress, ce qui nécessite que les amis qui en savent plus puissent se référer à
Recommandation : "tutoriel wordpress"
"Sticky Posts" a été ajouté depuis WordPress 2.7. La fonction de l'article épinglé est d'attirer longtemps l'attention des lecteurs. Il peut indiquer l'introduction du site, la déclaration de droits d'auteur, les principes d'échange de liens amicaux, etc. Mais rester inchangé trop longtemps peut aussi provoquer une aversion pour la lecture. Cet article explique comment créer des articles épinglés dynamiquement pour WordPress.
Diverses discussions sur les boucles multiples dans les forums d'aide WordPress m'ont donné une idée sur l'utilisation de deux boucles. L’un est utilisé pour interroger et afficher uniquement les articles d’une certaine catégorie. L’autre est utilisé pour interroger tous les articles de toutes les catégories. La première requête est copiée du codex et est facile à comprendre :
Le code est le suivant :
$my_query = new WP_Query('category_name=frontpage&showposts=1'); while ($my_query->have_posts()) : $my_query->the_post(); $do_not_duplicate = $post->ID;
La signification du code ci-dessus est que la variable my_query se voit attribuer une valeur de query nom de la catégorie frontpage Résultats pour les articles et obtenez un seul article. Le point clé est dans la dernière partie, en attribuant à la variable do_not_duplicate la valeur ID de l'article individuel renvoyé. Nous avons besoin de cette valeur à l’étape suivante.
Le morceau de code suivant est très important et standard et peut être trouvé dans de nombreux thèmes. Il peut récupérer tous les logs :
Le code est le suivant :
if (have_posts()) : while (have_posts()) : the_post(); //do stuff like format each postendwhile;
Ce code récupère tous les logs et les affiche au format de la ligne //do stuff (selon le modèle ). Si vous écrivez simplement le code ainsi, il arrivera que l'article que vous avez sélectionné (l'article épinglé) s'affiche deux fois (une fois dans la zone épinglée et une fois dans toutes les autres zones de l'article). Ce n'est pas bon d'afficher comme ça, donc la fonction do_not_duplicate est utilisée ici. Ajouté à une instruction if pour empêcher l'article spécifié d'être affiché deux fois. Voici le code :
Le code est le suivant :
if (have_posts()) : while (have_posts()) : the_post(); if( $post->ID == $do_not_duplicate ) continue;//do stuff like format each post endwhile;
La deuxième instruction if dans le code signifie obtenir tous les journaux, et lorsque la valeur d'ID d'un article est trouvée être égal à la valeur de do_not_duplicate L'exécution est interrompue (instruction continue), sinon tous les autres articles sont affichés selon le format de la ligne //do stuff. N'oubliez pas que l'article représenté par la valeur de la fonction do_not_duplicate a déjà été affiché.
Alors, qu'obtenez-vous lorsque vous mettez tout cela ensemble ? Un article épinglé dynamique ! Et le meilleur, c'est que lorsque l'article épinglé est remplacé par un nouveau, l'article précédent sera affiché dans la zone detous les articles ci-dessous (en fonction du nombre d'articles que vous choisissez d'afficher et de la fréquence à laquelle les articles sont publiés). publié).
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!