自定义程序代码:
$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
)
)
);
来自Customizer的照片:
从输出代码:
<?php echo wp_kses_post(get_theme_mod(\'script-code\')); ?>
从输出中,返回空:
<main class="script-code">
</main>
如何在Customizer textarea设置字段中使用脚本标记?
非常感谢。
最合适的回答,由SO网友:David Lee 整理而成
这是因为您正在使用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
)
);
此外,请确保您使用的主题模块名称正确,您可以通过两种方式进行检查:
1.-做一个var_dump(get_theme_mods());
检查其命名方式。
2.-检查HTML
自定义程序中控件的代码
这个
id
不带前缀
customize-control-
是主题mod的名称。