Table des matières
De quoi as-tu besoin
Définissez le thème
Créer un fichier d'index
Créez un fichier index.php vide
Identifier les catégories
Définir les paramètres de requête
Exécutez la requête
Latest in name; ?>:
Évitez les publications en double
Ajouter du style
Adapter cette technologie à différents types de contenus
Résumé
Maison interface Web tutoriel HTML Afficher les derniers messages par catégorie

Afficher les derniers messages par catégorie

Aug 31, 2023 am 11:29 AM
关键词提取 Afficher les derniers messages Affichage des catégories

Par défaut, la page principale de votre blog WordPress affiche vos articles les plus récents par ordre décroissant de date. Cependant, si vous utilisez des catégories sur votre site et que vos lecteurs souhaitent voir du nouveau contenu dans chaque catégorie, vous souhaiterez peut-être que les pages de votre blog soient différentes.

Dans ce tutoriel, je vais vous montrer comment procéder. Je vais vous montrer comment :

  • Identifiez toutes les catégories sur votre blog
  • Affiche le dernier message pour chaque message, ou l'image sélectionnée si le message en a une
  • Assurez-vous que les publications dans plusieurs catégories ne sont pas dupliquées
  • Ajoutez un peu de style pour lui donner une belle apparence

De quoi as-tu besoin

Pour suivre ce tutoriel il vous faut :

  • Développement installation de WordPress.
  • Quelques posts et catégories déjà mis en place. J'ai utilisé l'exemple de données des données de test unitaire du thème WordPress.
  • Un thème. Je vais créer un sous-thème du sujet "Vingt-Quatre".
  • Éditeur de code.

Définissez le thème

La première étape consiste à configurer le thème. Je vais créer un sous-thème du thème Twenty-Four avec seulement deux fichiers : style.cssindex.php.

Voici ma feuille de style :

/*
Theme Name: Display the Most Recent Post in Each Category
Theme URI: http://code.tutsplus.com/tutorials/display-the-most-recent-post-in-each-category--cms-22677
Version: 1.0.0
Description: Theme to accompany tutorial on displaying the most recent post fort each term in a taxonomy for Tutsplus, at http://bitly.com/14cm0yb
Author: Rachel McCollin
Author URI: http://rachelmccollin.co.uk
License: GPL-3.0+
License URI: http://www.gnu.org/licenses/gpl-3.0.html
Domain Path: /lang
Text Domain: tutsplus
Template: twentyfourteen
*/

@import url('../twentyfourteen/style.css');
Copier après la connexion

Je reviendrai sur ce fichier plus tard pour ajouter des styles, mais pour l'instant WordPress a juste besoin de reconnaître le thème enfant.

Créer un fichier d'index

Puisque je souhaite que ma page principale de blog affiche les derniers articles de chaque catégorie, je vais créer un nouveau fichier index.php dans mon thème enfant.

Créez un fichier index.php vide

Je vais d'abord copier le fichier index.php de 24 et éditer les boucles et autres éléments pour qu'il ressemble à ceci :

<?php
/**
 * The main template file.
 * 
 * Based on the `index.php` file from TwentyFourteen, with an edited version of the `content.php` include file from that theme included here.
 */
?>

<?php get_header(); ?>

<div id="main-content" class="main-content">

    <?php
        if ( is_front_page() && twentyfourteen_has_featured_posts() ) {

            // Include the featured content template.
            get_template_part( 'featured-content' );

        }
    ?>

    <div id="primary" class="content-area">
        <div id="content" class="site-content" role="main">

        </div>
    </div>
    <?php get_sidebar( 'content' ); ?>
</div>

<?php get_sidebar(); ?>
<?php get_footer(); ?>
Copier après la connexion

Identifier les catégories

La première étape consiste à identifier les catégories de votre blog. Ouvrez ensuite la balise <div id="content"> et ajoutez le contenu suivant :

<?php
    $categories = get_categories(); 

    foreach ( $categories as $category ) {

    }
?>
Copier après la connexion

Cela utilise la fonction get_categories() pour obtenir la liste des catégories du blog. Par défaut, cela sera récupéré par ordre alphabétique et ne contiendra aucune catégorie vide. Cela fonctionne pour moi donc je n'ajouterai aucun paramètre supplémentaire.

J'utilise ensuite foreach ( $categories as $category ) {} pour dire à WordPress d'exécuter chaque catégorie à tour de rôle et d'exécuter le code entre les accolades. L'étape suivante consiste à créer une requête qui sera exécutée sur chaque catégorie.

Définir les paramètres de requête

Vous devez maintenant définir les paramètres de votre requête. Ajoutez ce qui suit entre accolades :

$args = array(
    'cat' => $category->term_id,
    'post_type' => 'post',
    'posts_per_page' => '1',
);
Copier après la connexion

Cela ne récupérera qu'un seul message dans la catégorie actuelle.

Exécutez la requête

Ensuite, utilisez la classe WP_Query pour insérer la requête :

$query = new WP_Query( $args );

if ( $query->have_posts() ) { ?>

    <section class="<?php echo $category->name; ?> listing">
        <h2 id="Latest-in-php-echo-category-name">Latest in <?php echo $category->name; ?>:</h2>

        <?php while ( $query->have_posts() ) {

            $query->the_post();
            ?>

            <article id="post-<?php the_ID(); ?>" <?php post_class( 'category-listing' ); ?>>
                <?php if ( has_post_thumbnail() ) { ?>
                    <a href="<?php the_permalink(); ?>">
                        <?php the_post_thumbnail( 'thumbnail' ); ?>
                    </a>
                <?php } ?>

                <h3 class="entry-title">
                    <a href="<?php the_permalink(); ?>">
                        <?php the_title(); ?>
                    </a>
                </h3>

                <?php the_excerpt( __( 'Continue Reading <span class="meta-nav">&rarr;</span>', 'twentyfourteen' ) ); ?>

            </article>

        <?php } // end while ?>

    </section>

<?php } // end if

// Use reset to restore original query.
wp_reset_postdata();
Copier après la connexion

Cela affichera l'image sélectionnée, le titre et l'extrait de chaque article, chacun inclus dans un lien.

Voyons à quoi ça ressemble maintenant :

Afficher les derniers messages par catégorie

Comme vous pouvez le constater, il y a un problème. Ma page affiche les dernières publications dans chaque catégorie, mais il s'agit d'une publication en double car parfois une publication sera la dernière publication dans plusieurs catégories. Résolvons ce problème.

Évitez les publications en double

Au dessus de la ligne où vous avez ajouté la fonction get_categories(), ajoutez la ligne suivante :

$do_not_duplicate = array();
Copier après la connexion

Cela créera un tableau vide appelé $do_not_duplicate que nous utiliserons pour stocker l'ID de chaque sortie de publication, puis vérifierons si l'ID d'une publication que nous interrogerons plus tard se trouve dans ce tableau.

Ensuite, ajoutez une nouvelle ligne sous les options de requête, pour que les deux premières lignes ressemblent à ceci :

<?php while ( $query->have_posts() ) {

    $query->the_post();

    $do_not_duplicate[] = $post->ID;
    ?>
Copier après la connexion

Cela ajoutera l’ID de la publication actuelle au tableau $do_not_duplicate.

Enfin, ajoutez un nouveau paramètre aux paramètres de requête pour éviter de générer des publications dans ce tableau. Votre argument ressemble maintenant à ceci :

$args = array(
    'cat' => $category->term_id,
	'post_type' => 'post',
	'posts_per_page' => '1',
	'post__not_in' => $do_not_duplicate
);
Copier après la connexion

Ceci utilise le paramètre 'post__not_in' pour trouver un tableau d'identifiants de publication.

Enregistrez votre fichier index.php et consultez à nouveau votre page de blog :

Afficher les derniers messages par catégorie

C'est mieux ! Votre message n'est désormais plus un doublon.

Ajouter du style

Actuellement, le contenu est un peu dispersé, avec l'image présentée au-dessus du titre et de l'extrait du message. Ajoutons un peu de style pour faire flotter l'image vers la gauche.

Dans le fichier style.css de votre thème, ajoutez ce qui suit :

.listing h2 {
    margin-left: 10px;
}

.category-listing img {
    float: left;
    margin: 10px 2%;
}

.category-listing .entry-title {
    clear: none;
}
Copier après la connexion

Maintenant, le contenu s'adapte mieux à la page et la mise en page est meilleure :

Afficher les derniers messages par catégorie

Adapter cette technologie à différents types de contenus

Vous pouvez adapter cette technique pour gérer différents types de contenu ou taxonomies. Par exemple :

  • Si vous souhaitez utiliser des termes de taxonomie personnalisés au lieu de catégories, vous pouvez transmettre le paramètre de requête get_categories() 替换为 get_terms() 并更改 'cat' pour trouver les termes de taxonomie.
  • Si vous utilisez un type de publication différent, vous pouvez ajouter un code similaire à votre fichier modèle pour afficher ce type de publication, en remplaçant le paramètre 'post_type' => 'post' dans votre paramètre de requête par votre type de publication.
  • Si vous souhaitez créer une page distincte au sein de votre page de blog principale pour afficher les derniers articles de n'importe quel type d'article pour une catégorie donnée, vous pouvez créer un modèle d'archive de catégorie et y ajouter une version adaptée de ce code. 李>
  • Vous pouvez aller plus loin et utiliser cette technique avec plusieurs taxonomies ou plusieurs types de publications, en utilisant des instructions foreach imbriquées pour exécuter plusieurs boucles.
  • Vous pouvez ajouter le code ci-dessus à votre tableau single.php 页面,以便在帖子内容之后显示每个类别中最新帖子的链接。如果执行此操作,您需要将当前显示页面的 ID 添加到 $do_not_duplicate.

Résumé

Parfois, il peut être utile d'afficher les derniers articles de votre blog d'une autre manière (plutôt que simplement par ordre chronologique). Ici, je démontre une technique pour afficher les derniers articles de chaque catégorie sur votre blog, en garantissant que les articles ne sont pas dupliqués dans plusieurs catégories.

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Algorithme d'extraction de mots clés et exemples d'application implémentés en Java Algorithme d'extraction de mots clés et exemples d'application implémentés en Java Jun 18, 2023 pm 12:14 PM

Algorithmes d'extraction de mots-clés et exemples d'applications implémentés en Java Avec l'avènement de l'ère Internet, les données textuelles massives ont causé de grandes difficultés à obtenir et à analyser. Par conséquent, il est nécessaire de mener des recherches et d'appliquer des technologies de traitement du langage naturel telles que l'extraction de mots-clés. . L'extraction de mots clés fait référence à l'extraction de mots ou d'expressions d'un morceau de texte qui représentent le mieux le sujet du texte, fournissant ainsi une prise en charge de tâches telles que la classification, la récupération et le regroupement de texte. Cet article présente plusieurs algorithmes d'extraction de mots clés et des exemples d'applications implémentés en Java. 1. Algorithme TF-IDF TF-IDF est un

Un moyen efficace d'implémenter la réutilisation du code dans les fonctions Golang Un moyen efficace d'implémenter la réutilisation du code dans les fonctions Golang Apr 12, 2024 pm 06:12 PM

Il existe deux manières principales de réutiliser le code dans Go : Fonctions : encapsulez les tâches répétitives dans des fonctions et réutilisez-les tout au long du projet. Packages : organisez le code associé en packages, permettant au code d'être réutilisé dans différentes parties du programme.

Quels sont les avantages de suivre la convention de dénomination des fonctions Golang ? Quels sont les avantages de suivre la convention de dénomination des fonctions Golang ? May 04, 2024 am 11:00 AM

Les avantages de suivre la convention de dénomination des fonctions Golang sont les suivants : garantir une dénomination cohérente des fonctions et améliorer la lisibilité. Améliorez la prévisibilité et facilitez la compréhension de l’utilisation des fonctions. Prend en charge la saisie semi-automatique de l'IDE pour gagner du temps. Simplifie le débogage et facilite l’isolement des problèmes.

Comment désactiver le code PIN Win10 Comment désactiver le code PIN Win10 Jan 04, 2024 am 11:00 AM

Vous pouvez également vous connecter en utilisant le code PIN lors de la connexion à Win10, mais de nombreux utilisateurs l'oublient toujours facilement et ne savent pas comment le désactiver. Aujourd'hui, je vais vous présenter une méthode pour désactiver le code PIN sur Win10 Friends. qui en a besoin, venez l'apprendre. Comment désactiver le code PIN Win10 : 1. Appuyez sur "win+i" pour ouvrir les paramètres Windows et cliquez sur "Compte". 2. Cliquez ensuite sur « Options de connexion » à gauche, puis cliquez sur « J'ai oublié mon code PIN » à droite pour vérifier votre compte Microsoft. 3. Cliquez sur « Annuler » dans la fenêtre contextuelle pour fermer le code PIN.

Comment implémenter la fonction d'extraction de mots-clés des phrases aléatoires de Baidu Wenxin Yiyan dans le développement PHP ? Comment implémenter la fonction d'extraction de mots-clés des phrases aléatoires de Baidu Wenxin Yiyan dans le développement PHP ? Aug 26, 2023 am 09:25 AM

Comment implémenter la fonction d'extraction de mots-clés des phrases aléatoires de Baidu Wenxin Yiyan dans le développement PHP ? Baidu Wenxin Yiyan est une phrase affichée de manière aléatoire qui est souvent utilisée sur la page d'accueil, la page de connexion, etc. du site Web. Cette fonction a également été utilisée dans le film "Votre nom". La fonction d'extraction de mots-clés peut rendre les phrases affichées plus pertinentes par rapport au contenu du site Web et augmenter l'expérience de lecture de l'utilisateur. Ensuite, nous présenterons comment utiliser le développement PHP pour réaliser cette fonction. Tout d’abord, nous devons obtenir l’API de Baidu Wenxinyiyan. Sur la plateforme Baidu Open Cloud (http

Graphique en nuage de mots ECharts : comment afficher les mots-clés de données Graphique en nuage de mots ECharts : comment afficher les mots-clés de données Dec 18, 2023 am 09:00 AM

Graphique en nuage de mots ECharts : comment afficher les mots-clés de données nécessite des exemples de code spécifiques Introduction : Avec l'avènement de l'ère du Big Data, un problème important auquel nous sommes confrontés est de savoir comment extraire efficacement des informations utiles à partir de données massives. L'extraction de mots clés est l'une des méthodes couramment utilisées. Lors de l'affichage de mots-clés, les diagrammes de nuages ​​de mots constituent un moyen très intuitif et artistique qui permet aux utilisateurs de comprendre rapidement les caractéristiques des données et l'importance des mots-clés en un coup d'œil. Cet article explique comment utiliser ECharts pour afficher des diagrammes de nuages ​​de mots et fournir

Renommez les fichiers à l'aide de la fonction Renommer de Go Renommez les fichiers à l'aide de la fonction Renommer de Go Apr 08, 2024 pm 02:21 PM

La fonction os.Rename du langage Go peut facilement renommer des fichiers ou des répertoires et mettre à jour les noms de fichiers ou de répertoires sans perdre de données. Il prend deux paramètres : oldpath (chemin actuel) et newpath (nouveau chemin). Cette fonction écrase les cibles existantes et ne peut renommer que les fichiers ou répertoires du même système de fichiers.

Découvrez quels sont les composants d'un programme en langage C ? Découvrez quels sont les composants d'un programme en langage C ? Feb 21, 2024 pm 08:21 PM

Le langage C est un langage de programmation de haut niveau largement utilisé dans le développement de logiciels et la programmation système. Il est conçu comme un langage à usage général orienté procédure, connu pour sa simplicité d'apprentissage, sa vitesse d'exécution rapide et sa grande portabilité. Le langage C possède de riches composants, et ces composants coopèrent les uns avec les autres pour former un programme complet. Dans les programmes en langage C, les unités les plus élémentaires sont les caractères et les identifiants. Les caractères sont la plus petite unité qui constitue le texte du programme. Ils peuvent être des lettres, des chiffres, des symboles, etc. L'identifiant est un nom composé de lettres, de chiffres et de traits de soulignement, utilisant

See all articles