Créateur de thèmes WordPress :: Formateur :: Web Designer

Genesis :: Comment mieux utiliser le modèle de page Blog

Publié le : 

Modifié le : 

Par : 

Nous verrons dans ce tutoriel tout le potentiel du modèle de page Blog qui est livré avec le framework de thème Genesis.

Modèle Blog de base

Ce modèle de page peut-être utilisé sur n’importe quelle page. Si aucun réglage n’est ajouté comme nous le verrons, ce sont les paramètres généraux du menu Genesis qui sont appliqués.

Capture: Réglages du modèle Blog dans Genesis

Dans le menu Genesis > Réglages du thème, dans la zone Modèle de Blog, vous pouvez choisir:

  • la catégorie qui sera utilisée
  • exclure certaines catégories ou sous-catégories en utilisant leurs identifiants et séparées par des virgules. Pour afficher les ID dans une colonne à part, je vous recommande ce plugin Reveal IDs
  • choisir le nombre d’articles qui s’affichera pour la pagination

Modèle Blog spécifique

Dans beaucoup de cas de figure, ce modèle de base est suffisant. Et si je veux le réutiliser avec une autre page, une option masquée existe depuis les premières versions de [Genesis][lk-genesis].
Par exemple, j’ai une catégorie spécifique sur mon site qui affiche tous les tutoriels. Ce flux s’affiche dans une page Tutoriels sous la forme d’article, selon un modèle très similaire au blog. Pour ce faire, j’utilise le même modèle de Page Blog.

Or dans cette même page, je veux afficher une catégorie à part (tutoriels) en excluant certains mots clefs. Et pour ce faire, j’ai besoin d’un autre réglage un peu masqué.

Ajout du paramètre de requête

Nous allons pour ce faire utiliser un champ personnalisé (custom fields) qu’il faudra activer dans les Options de l’écran de votre page.

Capture: Choisir le modèle Blog dans WordPress

Ensuite, je choisis bien comme Attribut de la page le modèle Blog

Enfin, j’ajoute un nouveau champ personnalisé avec comme clef query_args et comme valeur, ce qui est décrit dans l’article officiel de WP_Query. Cela donne par exemple une valeur de ce type:

cat=69&tag__not_in=150

En clair, j’affiche les articles dont la catégorie a le ID est 69 en excluant ceux qui ont le mot clef dont l’ID est 150.

Dans le site cela donnera

Capture: Utiliser le champs personnalisé dans WordPress

Fonction genesis_do_loop

Dans le dossier lib > structure du framework, voici la fonction qui est utilisée. C’est genesis_do_loop() (l.14) qui s’applique au modèle Blog

function genesis_do_loop() {

    if ( is_page_template( 'page_blog.php' ) ) {
        $include = genesis_get_option( 'blog_cat' );
        $exclude = genesis_get_option( 'blog_cat_exclude' ) ? explode( ',', str_replace( ' ', '', genesis_get_option( 'blog_cat_exclude' ) ) ) : '';
        $paged   = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1;

        //* Easter Egg
        $query_args = wp_parse_args(
            genesis_get_custom_field( 'query_args' ),
            array(
                'cat'              => $include,
                'category__not_in' => $exclude,
                'showposts'        => genesis_get_option( 'blog_cat_num' ),
                'paged'            => $paged,
            )
        );

        genesis_custom_loop( $query_args );
    } else {
        genesis_standard_loop();
    }

}
  • Cette fonction associe les options données dans les réglages du framework
  • Elle utilise pour avec la fonction wp parse args qui permet d’assembler les arguments dans un seul tableau, elle ajoute la valeur donnée dans le champ personnalisé

À suivre

Nous verrons que pour cette même page et pour tous les articles affichés en solo, il est possible d’utiliser des barres latérales qui seront contextuelles.

Formation personnaliser son thème WordPress avec le Framework Genesis

3 réponses

  1. SERRAILLE

    Génial, merci.
    N’hésitez pas à me contactez : [email protected]

  2. […] de votre thème enfant. <? <? Dans le back-office cela donnera Premier hook A noter. Comment mieux utiliser le modèle Blog dans le framework de thème Genesis. Nous verrons dans ce tutoriel tout le potentiel du modèle de page Blog qui est livré avec le […]

  3. Bonjour Grégoire,

    Je souhaiterai utiliser ce système pour afficher une page « archive ».
    Dans cette page archive, je ne souhaite pas afficher une catégorie simple mais des postypes, et des catégories de postype.

    Est-ce possible? Comment faire ?
    Mille merci !