WordPress : JavaScript dans WordPress Customizer
Codes de personnalisation :
$wp_customize->add_setting (
'script-code',
array (
'default' => esc_html__( 'Script Code', 'x' ),
'sanitize_callback' => 'wp_kses_post'
)
);
$wp_customize->add_control (
new WP_Customize_Control (
$wp_customize,
'script-code',
array (
'label' => esc_html__( 'Script Code', 'x' ),
'section' => 'script',
'settings' => 'script-code',
'type' => 'textarea',
'priority' => 1
)
)
);
Photo du personnalisateur :
à partir des codes pour la sortie :
<?php echo wp_kses_post(get_theme_mod('script-code')); ?>
à partir de la sortie, renvoie le vide :
<main class="script-code">
</main>
Comment puis-je utiliser la balise de script dans le champ de réglage de la zone de texte Customizer ?
Merci beaucoup.
Solution n°1 trouvée
C’est parce que vous utilisez wp_kses_post pour nettoyer les données de sortie, essayez sans :
<?php echo get_theme_mod( 'script-code'); ?>
supprimez-le également d’ici:
$wp_customize->add_setting (
'script-code',
array (
'default' => esc_html__( 'Script Code', 'x' ),
'sanitize_callback' => '' // remove wp_kses_post
)
);
assurez-vous également que vous utilisez le bon nom de votre mod de thème, vous pouvez le vérifier de deux manières :
1.- faites une var_dump(get_theme_mods());
vérification là comment est nommé.
2.- Inspectez le HTML
code de votre contrôle dans le personnalisateur
<img src= »https://i.stack.imgur.com/SGgE7.png » alt= »entrez la description de l’image ici »>
le id
sans le préfixe customize-control-
est le nom de votre module de thème.
0 commentaire