web-dev-qa-db-fra.com

comment faire en sorte que les codes courts fonctionnent dans le texte des champs personnalisés

Je construis un système de gestion de l’apprentissage en utilisant Wordpress, des champs personnalisés et divers plug-ins, notamment SIMPLE FIELDS de Par Thernstrom. Mes plug-ins de shortcode, tels que Shortcode Exec PHP et Custom Field Value, fonctionnent bien dans la zone d'édition principale, mais si je mets l'un de mes codes courts d'informations de cours dans un champ personnalisé, ils ne fonctionnent pas dans la champ personnalisé. Je sais que cela évite les problèmes de "référence circulaire", mais cela m’empêche également de construire un système plus simple. Connaissez-vous des solutions de contournement qui permettraient aux plug-ins de fonctionner sur le contenu des champs personnalisés, de sorte que ceux-ci puissent contenir des codes courts? La configuration spécifique dont j'ai le plus besoin concerne les codes abrégés de Shortcode Exec PHP pour fonctionner sur les zones de saisie wysiwyg textarea de SIMPLE FIELDS.

Le problème est qu’à présent, le texte du champ personnalisé géré par le plug-in SIMPLE FIELDS n’est pas évalué par Wordpress pour la présence de shortcodes de quelque sorte que ce soit, ni pour la présence de code PHP, voir de mes expériences. Tout comme vous pouvez insérer des codes abrégés pour nom-enseignant ou text-book1 dans la zone d'édition principale, vous pouvez également insérer de telles chaînes de données locales ou globales dans un ou plusieurs champs personnalisés.

Il existe une variété de plugins de remplacement de texte disponibles et, autant que je sache, ils fonctionnent tous correctement dans la fenêtre d'édition principale, dans une page ou dans une publication, et aucun d'entre eux ne fonctionne s'il est inséré dans le texte d'un champ personnalisé.

3
Dennis Rivers

Passer le contenu dans do_shortcode() traitera tous les codes courts qu’il contient. Vous devez donc modifier le thème ou le plug-in en fonction de votre configuration.

// Lets say $data contains custom field data including shortcodes
$processed_data = do_shortcode( $data ); // will contain processed shortcodes
5
Ashfame