web-dev-qa-db-ja.com

WordPressカスタマイザ内のJavaScript

カスタマイザコード

$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
        )
    )
);

カスタマイザからの写真:

enter image description here 

出力コードから:

<?php echo wp_kses_post(get_theme_mod('script-code')); ?>

出力から、空の値を返します。

<main class="script-code">
</main>

カスタマイザのテキストエリア設定フィールドでスクリプトタグを使用するにはどうすればよいですか。

本当にありがとう。

2
Rang

これは、出力データをサニタイズするために wp_kses_post を使用しているためです。

<?php echo get_theme_mod( 'script-code'); ?>

こちらからも削除してください。

$wp_customize->add_setting (
    'script-code',
    array (
        'default' => esc_html__( 'Script Code', 'x' ),
        'sanitize_callback' => '' // remove wp_kses_post
    )
); 

また、テーマmodの正しい名前を使用していることを確認してください。これは2つの方法で確認できます。

1.- var_dump(get_theme_mods());チェックをそこにどのように命名されているかを行います。

2.-カスタマイザでコントロールのHTMLコードを調べます

enter image description here 

接頭辞customize-control-のないidは、テーマmodの名前です。

0
David Lee