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! p>
Voici le lien vers des champs personnalisés avancés https://www.advancedcustomfields.com/resources/oembed/ p> < Pré> xxx pré> p>
3 Réponses :
Ce serait une approche facile:
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 () code> 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.
Vous devriez pouvoir utiliser la syntaxe recommandée pour vérifier si le champ a une valeur et l'afficher.
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) : ""; ?>
Le plus facile est que si vous modifiez la fonction
the_field () code> telle qu'elle génère le conteneur
div code> ...