0
votes

Envelopper le contenu généré PHP dans une enveloppe de div

J'utilise un extrait de code PHP (ci-dessous) à partir de champs personnalisés avancés avec WordPress. Plutôt que de placer statiquement la Div autour du PHP, je voudrais que le PHP génère uniquement la DIV uniquement s'il y a du contenu pour le PHP le générateur. Comment pourrais-je accomplir cela?

merci!

Voici le lien vers des champs personnalisés avancés https://www.advancedcustomfields.com/resources/oembed/ < Pré> xxx


1 commentaires

Le plus facile est que si vous modifiez la fonction the_field () telle qu'elle génère le conteneur div ...


3 Réponses :


0
votes

Ce serait une approche facile: xxx


5 commentaires

J'ai essayé votre suggestion et cela a cassé le site. J'ai également essayé de fermer la balise PHP (il a été laissé ouvert dans votre suggestion) et cela n'a pas fonctionné non plus.


Désolé, il y avait en effet une erreur de syntaxe évidente car je viens de copier votre code sans l'adapter complètement. Devrait être corrigé maintenant.


Là nous allons! Merci beaucoup!


En fait, désolé. Lors de l'examen ultérieur, votre extrait de code fixe le site mais n'a pas enveloppé le contenu dans la DIV.


On dirait que votre fonction the_field () génère directement le contenu au lieu de le renvoyer. Si oui, vous pouvez utiliser la mise en mémoire tampon de sortie comme solution, mais c'est un effort assez vaste.



1
votes

Vous devriez pouvoir utiliser la syntaxe recommandée pour vérifier si le champ a une valeur et l'afficher. xxx

voici Quelques informations supplémentaires de ACF Si vous souhaitez l'étendre pour vérifier et afficher plusieurs champs.


0 commentaires

0
votes

La première ligne vérifie si le champ existe et n'est pas nul, et si oui, supprime les espaces. Ensuite, la troisième ligne vérifie si le champ coupé n'est pas vide, et si ce n'est pas ajoute des balises autour de celle-ci, en fonction du format de la ligne 2:

<?php

   $field = isset(the_field("oembed")) ? trim(the_field('oembed')) : "";
   $format = "<div>%s</div>";
   echo !empty($field) ? sprintf($format, $field) : ""; 

?>


0 commentaires