WordPress : JavaScript dans WordPress Customizer

Publié par Jean-Michel le

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 :

entrez la description de l'image ici

à 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 HTMLcode 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 idsans le préfixe customize-control-est le nom de votre module de thème.

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *