0
votes

Obtenez la valeur du champ de texte ACF dans la catégorie d'un type de poste personnalisé dans WordPress

J'essaie de créer une autre classe en utilisant la valeur d'un champ de texte à partir d'ACF Pro.

J'ai un type de post personnalisé nommé "portefeuille" et il dispose de 4 catégories, le paramètre de champ ACF est ajouté à "Taxonomie est égal à la catégorie ".

Lorsque je modifie une catégorie, je remplis le nom que je veux obtenir, puis afficher comme ceci: xxx

Comment Est-ce que je reçois la valeur du champ ACF de la catégorie?

Autres informations: Mon modèle de page est Page-Portfolio.php et j'utilise un répéteur ACF.

Ceci est mon code: xxx

Il s'agit d'une capture d'écran des paramètres du champ ACF de la catégorie, j'espère que cela aide:

 Configuration du champ


2 commentaires

Je ne comprends pas quel champ vous essayez d'obtenir. Pouvez-vous nous montrer une capture d'écran de votre configuration ACF pour le champ?


J'ajoute une capture d'écran comme vous le demandez, j'espère que c'est plus clair maintenant :-)


3 Réponses :


0
votes

Dans votre code, vous enregistrez un champ personnalisé avec le nom Nom du projet code> dans une variable:

<div class="grid-item-catalog catalog-project-Holder <?php echo $variableName; ?>"> 


1 commentaires

Merci, mais vous avez tort ... il n'est pas connecté au répéteur, j'essaie d'obtenir la valeur du champ de texte de la catégorie du type de poste



0
votes

Si je comprends correctement, vous avez un et vous souhaitez obtenir la valeur de champ ACF pour les catégories que le message appartient à . Ces catégories sont dans la catégorie WordPress par défaut (c'est-à-dire une taxonomie personnalisée). Ceci est à voir avec le post et non les valeurs de votre répéteur.

Si tel est le cas, vous pouvez obtenir la valeur du champ ACF ( catégorie-nom de catégorie ) pour une catégorie comme celle-ci : xxx

Cela signifie que nous devons obtenir les ID de catégorie pour le message dans votre boucle, et vous pouvez le faire en utilisant get_the_category (en supposant que c'est Les catégories par défaut, pour les taxonomies personnalisées dont vous avez besoin get_the_terms ). Notez également qu'un message peut avoir plusieurs catégories, donc get_the_catetégies renvoie un tableau: xxx

maintenant $ Catégorie_classes Liste des valeurs ACF séparées par l'espace pour les catégories que vous pouvez utiliser directement dans l'attribut class , c'est-à-dire xxx

en le mettant dans votre code, Il devrait être quelque chose comme ceci: xxx

Ce code n'est pas testé, mais il devrait au moins pointer en vous dans la bonne direction :) >


5 commentaires

Oui, vous avez raison - ce que j'ai fait comme suit: 1) j'ai créé un type de post-poste nommé "Portfolio" 2) J'ai créé les 3 catégories pour le type de post 3) J'ai créé un champ de texte simple de ACF nommé "Nom de la catégorie "Et définir cela comme - la taxonomie est égal à la catégorie. 4) Dans la catégorie (pour chaque catégorie), j'écris le texte, le nom de la classe éventuellement. 5) Maintenant, je veux avoir la valeur ce que j'ai écrit sur le terrain en classe. Je suis suivi de votre instruction étape par étape - rien ... Plusieurs tests Le Var_Dump montre-moi que c'était NULL, je ne sais pas ce que je manque ici ??


Quelques questions à essayer de déboguer le problème: 1. Le code que vous avez enregistré travaillé (sauf pour le nom de la classe)? 2. Qu'est-ce qu'un vari_dump de $ catégories montre après cette ligne? $ Catégories = get_the_category (get_the_id ()); 3. La valeur de get_the_id () L'ID de poste correct?


1) Oui, le répéteur travaille et je réussit à rendre tous les messages avec le répéteur à l'intérieur. 2) J'étais essayé de poster ici la matrice totale - objet (wp_term) # 7882 (16), mais je ne peux pas la poster ici..may, je peux peut-être vous envoyer par courrier électronique? 3) de la fonction get_the_id () Je reçois entier par exemple: int (2243), le numéro est l'ID du poste.


$ catégorie_classes me donne une chaîne vide


C'est parce que vous n'utilisez pas Catégories Comme vous l'avez dit, vous utilisez une taxonomie sur mesure qui est différente! Le reste de la réponse est correct, vous devez donc simplement utiliser la bonne fonction pour obtenir les conditions de taxonomie (pas les catégories :))



0
votes

yaaaayyyy ... J'ai réussi, avec ce code:

         <?php
            // load all 'category' terms for the post
            $terms = get_the_terms( get_the_ID(), 'category');
            // we will use the first term to load ACF data from
            if( !empty($terms) ) {
                $term = array_pop($terms);
                $custom_field = get_field('category-name', $term );
            }
          ?>  


1 commentaires

Salut Fluffykitten, désolé de mon long délai ... J'accepte votre réponse comme tu me le demandes ... Il y a encore plusieurs problèmes qui me rendent très confus et que j'ai besoin de comprendre ... vous savez chaque jour l'apprentissage de quelque chose d'apprentissage . Je vous remercie !!!