Advanced Custom Fields : CPT Options Pages
Petit module pour les options ACF. Ajoute un emplacement ACF pour chaque type de publication personnalisé.
Nouvelle fonctionnalité dans la version majeure 2 ! Important ! Après la mise à jour en v2 et plus vous devez reconnecter les groupes de champs aux pages d’options
Maintenant vous pouvez activer/désactiver les CPT et créer des pages d’options personnalisées pour chaque CPT. Par défaut, les pages d’options sont activées pour tous les types de publication personnalisés.
Utilisation
Les fonctions par défaut de l’extension ACF (en anglais) (get_field, the_field, etc.
) peuvent être utilisées pour charger les valeurs en provenance d’une page d’options d’un CPT, mais le second paramètre est nécessaire pour cibler les options du CPT.
This is similar to passing through a $post_id
parameter to target a specific post object.
Le paramètre $post_id
requis est une chaîne contenant cpt_
et le nom du CPT dans le format suivant ; "cpt_{NOM_CPT}"
et pour les sous-pages vous pouvez copier l’ID généré à la création des sous-pages.
Exemples
Dans les exemples le nom du type de publication personnalisée est
projects
.
Alors allons-y !
Afficher un champ
<p><?php the_field('field_name', 'cpt_projects'); ?></p>
et le champ de la sous-page
<p><?php the_field('field_name', 'cpt_projects_testpage'); ?></p>
Récupérer un champ
<?php
$field = get_field('field_name', 'cpt_projects');
// do something with $field
?>
Afficher un sous-champ
<?php if( have_rows('repeater_name', 'cpt_projects') ): ?>
<ul>
<?php while( have_rows('repeater_name', 'cpt_projects') ): the_row(); ?>
<li><?php the_sub_field('the_title'); ?></li>
<?php endwhile; ?>
</ul>
<?php endif; ?>
Afficher avec un code court
[acf field="field_name" post_id="cpt_projects"]
Veuillez lire la documentation sur les codes courts avec ACF (en anglais)
Personnalisation
function cpt_projects_customize($cptmenu) {
$cptmenu['page_title'] = 'Dev Custom title';
$cptmenu['menu_title'] = 'Dev Custom title';
return $cptmenu;
}
add_filter('cpt_projects_acf_page_args', 'cpt_projects_customize');
N’oubliez pas de remplacer cpt_projects_
par le nom de votre type de publication personnalisé 🙂
Cela fonctionne uniquement pour le premier niveau des pages d’options, pas pour les sous-pages.
Donate
Licence
Copyright (c) 2023, Tusko Trush
Prérequis
Vous devez acheter ACF PRO ou le module de page d’options.
Translation
qTranslate-XT
This plugin is compatible and has included ACF qTranslate. Just enjoy!
qTanslate-X
Si vous utilisez Qtranslate-X, vous devez installer ACF qTranslate.
WPML/Polylang
Si vous utilisez WPML ou Polylang, vous devez ajouter la constante ICL_LANGUAGE_CODE
à post_id
,
par exemple : get_field('archive_title', 'cpt_projects_' . ICL_LANGUAGE_CODE)
.