web-dev-qa-db-fra.com

Autoriser le shortcode dans le personnalisateur de thème

Tous les développeurs de thème qui suivent correctement les directives de wp utilisent maintenant la capacité du personnalisateur de wp par défaut pour personnaliser leurs thèmes, au lieu de créer une section d’option de thème différente dans le panneau de l’administrateur.

Mais ce que j’ai été incapable de comprendre, c’est que comment utiliser un shortcode dans ce personnalisateur wp.

Par exemple: Dans l'un des thèmes, j'ai vu une section du personnaliseur appelée copyright text . Maintenant, je pourrais mettre manuellement Copyright 2016, mais ce que je voulais faire, c'est profiter du shortcode wp. J'ai donc créé un shortcode simple appelé year pour récupérer automatiquement l'année en cours.

add_shortcode('year', function() {
    return date( 'Y' );
});

Mais lorsque j'utilise [year] dans wp customizer, il ne reconnaît pas le shortcode. Je sais qu'il existe un moyen d'activer le shortcode pour la zone widget, mais je me demandais s'il existait quelque chose de similaire pour le personnalisateur de thème wp.

Toute aide sera appréciée...

5
iSaumya

envelopper tout ce que vous sortez du shortcode dans do_shortcode()

3
setterGetter

@setterGetter a raison, vous devez l'envelopper avec do_shortcode() mais vous devez le faire lorsque le champ de personnalisation est appelé et non à l'intérieur du champ dans le personnaliseur. Dans votre cas, essayez de regarder dans footer.php, puis, si vous êtes en mesure de trouver où ils ont écrit le code, enveloppez-le avec echo do_shortcode()

Mais cela ne signifie pas que votre shortcode s'affichera correctement, vous devez également déterminer le type de sanitize_callback utilisé lors de la création de ce paramètre de personnalisation. Il se peut qu’ils utilisent un rappel de désinfection empêchant l’exécution de votre shortcode.

3
user1645213

Le plug-in de personnalisation de Kirki semble avoir un contrôle de type 'code' qui semble accepter les codes abrégés et les sortir bruts via la méthode get_theme_mod ()

vous devrez apprendre un peu comment intégrer le plugin dans votre thème.

0
Richy