Post
Le champ de type post permet de sélectionner un article, une page ou tout type de contenu personnalisé (custom post type) existant dans WordPress. Ce champ est idéal pour créer des relations entre contenus, des mises en avant d'articles, ou tout autre cas nécessitant une sélection de contenu.
Utilisation de base
exemple-basique.yaml
article_vedette: label: "Article à la une" type: "post" description: "Sélectionnez l'article à mettre en avant"
Paramètres
Paramètre obligatoire
type Requis
- Type :
string - Valeur :
"post" - Description : Spécifie qu'il s'agit d'un champ de sélection de contenu
Paramètres optionnels
args.legacy
- Type :
boolean - Valeur par défaut :
false - Description : Si
true, inclut les types de contenu en dehors de l'écosystème Elementum
args.exclude
- Type :
array - Valeur par défaut :
[] - Description : Liste des types de contenu à exclure de la sélection
Exemple avancé
exemple-complet.yaml
# Section des contenus mis en avant contenus_importants: label: "Contenus à mettre en avant" type: "section" fields: # Article vedette article_principal: label: "Article principal" type: "post" description: "Sélectionnez l'article principal à mettre en avant" args: legacy: true exclude: - attachment - page
Récupération de la valeur
La valeur retournée par le champ est l'ID du contenu sélectionné. Vous pouvez la récupérer via le service customize d'Elementum :
app/Controllers/MyController.php
$article_id = $this->customize()->getSection('contenus_importants')->article_principal; $article = get_post($article_id);
Bonnes pratiques
- Utilisez le paramètre
excludepour limiter la sélection aux types de contenu pertinents - Le paramètre
legacydoit être utilisé avec précaution, car il peut inclure des types de contenu non gérés par Elementum - Pensez à vérifier si la valeur retournée existe avant de l'utiliser, au cas où le contenu aurait été supprimé