Accueil Assistance > Développeurs > Contenu mis en avant

Contenu mis en avant

Le contenu mis en avant permet aux utilisateurs de mettre en valeur certains articles avec un thème. Ce contenu est destiné à être affiché sur la page d’accueil d’un blog. Utiliser régulièrement le module de la même façon permet d’offrir aux utilisateurs un contenu mis en avant cohérent, qu’ils retrouveront même en changeant de thème.

Pour commencer, suivez ces courtes étapes :

  1. Activez la prise en charge du contenu mis en avant par le thème
  2. Allez dans Réglages > Lecture et créez un tag dans Nom de tag pour le contenu mis en avant
  3. Appliquez ce tag à du contenu.

Continuez à lire pour plus d’informations, ou allez directement aux astuces d’utilisation, aux étapes pour ajouter la prise en charge à votre thème et aux astuces de template.

Utilisation

Featured Content admin settings

Si votre thème prend en charge le contenu mis en avant, vous pouvez l’activer en allant dans Réglages > Lecture et en saisissant un nom de tag dans le champ « Nom de tag ». Si vous saisissez le nom d’un tag qui n’existe pas, il sera créé. Une fois cette valeur définie, les articles publiés portant ce tag seront inclus dans le contenu mis en avant.

Si vous voulez définir un nombre maximum d’articles mis en avant, modifiez le paramètre « Nombre d’articles ». Par défaut, le contenu mis en avant affiche un maximum de 15 articles. Cependant, le thème peut lui aussi définir le nombre maximum d’articles. Cela peut s’avérer nécessaire si le thème utilise par exemple de très grosses images dans sa présentation du contenu mis en avant.

« Ne pas afficher le tag dans les metadata de l’article ou les nuages de tags » est coché pour empêcher que le tag que vous avez associé au contenu mis en avant n’apparaisse dans la liste de tags de votre article ou dans le widget Nuage de tags. Les archives du tag seront toujours affichées normalement.

Ajouter la prise en charge à un thème

Pour ajouter le contenu mis en avant à votre thème, commencez par appeler add_theme_support() avec ‘featured-content’ comme premier paramètre. add_theme_support() doit être appelé pendant l’action after_setup_theme.

[[code block]]

Le deuxième paramètre, $args, est une liste qui peut comprendre 3 valeurs distinctes. La première est obligatoire et les deux autres sont facultatives :

  • featured_content_filter – Le nom d’un filtre personnalisé utilisé pour
    retourner le contenu mis en avant. Ceci doit être préfixé par le slug du thème.
  • max_posts – Le nombre maximum d’articles que la zone peut contenir. Il est possible que certains thèmes n’aient la place que pour six articles dans cette zone. Dans ce cas, paramétrez max_posts sur six.
  • additional_post_types – Par défaut, le module de contenu mis en avant n’affiche que des articles. Cependant, vous pouvez ajouter la prise en charge d’autres types d’articles enregistrés en définissant un argument additional_post_types (sous forme de string ou de liste).

Fonction Getter

Il est conseillé de créer une fonction qui renvoie la valeur du filtre défini dans add_theme_support( 'featured-content' ). Ceci permettra d’assigner les articles mis en avant à une variable dans le fichier de template.

[[code block]]

Fonction conditionnelle

Pour éviter que les balises ne soient utilisées et que les scripts bouchonnent, vous pouvez définir une fonction qui nous aidera à prendre ces décisions. Cette fonction doit retourner une valeur Booléenne et accepter un seul paramètre. Ce paramètre est utilisé pour déclarer le nombre minimum d’articles mis en avant nécessaires pour renvoyer une valeur True.

[[code block]]

Par exemple, pour une barre de défilement, nous utilisons mytheme_has_featured_posts() de différentes façons pour ajouter des balises et mettre les scripts en queue. Notre barre de défilement ne montre qu’un seul article à la fois. Nous avons donc besoin de balises tant qu’il y a un article mis en avant, mais nous n’aurons besoin de mettre en queue le Javascript que lorsqu’il y aura au moins deux articles.

[[code block]]

[[code block]]

Templates

Afin de standardiser les thèmes pour les utilisateurs, nous avons développé le concept d’une zone de contenu mis en avant sur la page d’accueil. Cet zone s’affiche sur la page d’accueil d’une installation WordPress, c’est à dire que la zone sera toujours affichée lorsque is_front_page() renvoie True. Selon le design du thème et les réglages du site, is_front_page() peut renvoyer True pour de multiples templates différents. La zone de contenu mis en avant doit être affichée dans les templates suivants s’ils sont présents dans un thème :

Thèmes qui incluent front-page.php

Le template front-page.php, s’il est présent dans un thème, sera toujours utilisé pour le rendu de la page d’accueil. Si le thème fournit ce template, c’est le seul auquel la zone de contenu mis en avant doit être ajouté.

Thèmes qui n’incluent pas front-page.php

Si front-page.php n’est pas inclus dans le thème, la zone de contenu mis en avant doit être ajoutée aux templates suivants si applicable :

  • page.php
  • home.php
  • index.php
  • Tous les templates de pages personnalisées.
  • Table des matières

  • Catégories