J'utilise Advanced Custom Fields / ACF pour créer des champs personnalisés. L'un d'eux est une liste de cases à cocher qui affichent certaines options (option1, option2, option3 ...) .
Maintenant, je veux afficher toutes les options de ce champ sur une page distincte sur le frontend comme suit:
Options:
- option 1
- option 2
- option 3
- ...
Comment puis-je récupérer toutes les options avec les clés d'ACF?
Réponses:
La
get_field_object
fonction ACF peut être utilisée pour obtenir des informations et des options pour un champ spécifique.Vous avez d'abord besoin de la clé de champ du champ spécifique que vous souhaitez afficher. Lors de la modification d'un groupe de champs, cliquez sur l'onglet des options d'écran en haut de la page. Vous devriez voir une option pour basculer l'affichage de la clé de champ (elle est masquée par défaut pour économiser de l'espace):
Une fois que vous avez la clé, vous pouvez charger l'objet de champ et afficher ses valeurs:
la source
Si vous essayez de sortir quelque chose si une case à cocher a été cochée, utilisez:
Si vous essayez d'afficher simplement une liste des options cochées, utilisez ceci:
Cela vous donnera un tableau de valeurs que vous pouvez gérer avec une
foreach
déclaration. L'utilisationthe_field('checkbox')
vous donnera une chaîne séparée par des virgules des options que vous pouvez également diviser.Je vous suggère également d'aller sur le site d' ACF et de parcourir la documentation. La plupart des questions de ce type y trouveront une réponse assez détaillée, et le développeur est également actif dans ses forums de support.
EDIT: Si vous voulez que la liste des options disponibles soit sortie dans une page pour générer une requête dynamique, j'ai juste la chose. Ceci est un morceau que je viens de construire hier pour extraire une liste de méta-valeurs d'une clé de champ personnalisée donnée (en utilisant ACF). Je l'ai fait assez générique pour vous. Il y a un autre morceau de JS pour gérer la demande ajax, et un morceau de php plutôt alambiqué qui sort les messages résultants. Je ne peux pas vraiment réécrire ceux-ci - le JS est un appel / réponse ajax WP orienté vers l'avant standard, et le PHP est un gâchis de vérifications conditionnelles pour les 12 champs ACF différents que nous affichons (dont 2 sont des répéteurs). Les bases sont ce code ici, le bouton
onClick
appelle la fonction ajax dans un fichier JS séparé, et le php pour la fonction ajax elle-même configure essentiellement un tableau d'arguments pour la requête,$selectedOption
ou en$_POST['option']
tant que meta_value. Celui-ci est envoyé à anew WP_Query( $args );
, qui est ensuite utilisé dans une boucle, dont la sortie est renvoyée aux js viaadd_action('wp_ajax_the_ajax_hook', 'fetch_option_list');
etadd_action( 'wp_ajax_nopriv_the_ajax_hook', 'fetch_option_list' ); //for non logged-in users
.la source
foreach
pour parcourir. Les dernières fonctions apportent la liste des messages via ajax, mais j'ai laissé de côté