web-dev-qa-db-fra.com

Comment: afficher les [champs] ACF sur des types de publication personnalisés à l'aide de "crochets" WordPress?

Sous-questions:

i) Quels fichiers/modèles doivent être copiés dans le dossier du thème enfant, autres que function.php et style.css?

ii) Quelles actions/filtres/devraient être utilisés et où ce code devrait-il être inséré?

Toutes mes excuses, si le texte suivant est inexact, je suis un débutant WP.

J'ai récemment installé Customizr 4.0.8 [en tant que thème enfant] sur un hôte local, dans le but de mettre à jour mon thème existant. J'essaie d'afficher des données à partir de champs personnalisés sur le front-end; construit avec Advanced Custom Fields Pro (ACF Pro). Les données doivent figurer dans la zone de contenu principale de 2x types de post-types personnalisés; ' Vidéos ' et ' Ateliers

Sur mon site de production actuel http://www.custombike.cc avec le type de post "Ateliers", par exemple, j'ai utilisé single-workshop.php pour faire écho aux données des champs personnalisés et les styler en conséquence.

Ce que j'ai essayé

J'ai copié le code de index.php dans le thème parent Customizr et l'ai collé dans le thème (thème enfant) 'single-workshop.php ’, puis inséré le code ACF à différents endroits du code. Voir lien Pastebin Code ACF Pro - Thème enfant Customizr https://Pastebin.com/TGf7prZg )

D'après mes recherches, je comprends que Customizr utilise index.php pour afficher le contenu à l'aide de différents modèles. J'ai lu sur les hooks (actions/filtres) et je comprends le concept, mais je n'ai pas la moindre idée; quel code, où et comment mettre en œuvre.

Votre aide sera grandement appréciée!

Merci pour la lecture.

1
Nate

Tout d’abord, affectez votre groupe de champs Personnalisé au type de publication dans lequel vous essayez de les afficher, puis appelez-les dans ce modèle de types de publication, comme vous l’avez déjà fait. Pour la partie modèle, vous devez copier single.php à partir du thème Parent.

MODIFIER:

Pour le thème cutomizr, vous devez modifier le thème enfant dans le fichier.

customizr\templates\parts\content\singular\post_content.php

il suffit de placer

    <?php $mymetafield = get_field( "test" ); ?>
    <p><?php echo $mymetafield; ?></p>

n'importe où vous voulez que vos metafields s'affichent.

2
Piyush Rawat