我正在创建一个wordpress插件,在插件设置页面上,用户可以在文本区域添加一些内联脚本,然后点击保存
我想获得用户提交的脚本并在主题的页眉/页脚中排队
我试过这个 - 但是当我点击管理页面上的提交而不是前端时添加脚本
if(isset($_POST['submit']))
{
// Enqueued script with localized data.
wp_register_script( 'mapkitchenhandle', plugins_url( 'js/script.js', __FILE__ ) );
wp_localize_script( 'mapkitchenhandle', 'trackcode', array('track' => $_POST['mapkitchentrackingcode']) );
wp_enqueue_script( 'mapkitchenhandle');
}
任何人都可以帮我解决这个问题吗?
答案 0 :(得分:1)
在帖子上你应该将这些数据保存到选项表中:
if (isset($_POST['submit']) && isset($_POST['mapkitchentrackingcode'])) {
update_option('mapkitchentrackingcode', sanitize_text_field($_POST['mapkitchentrackingcode']));
}
我建议您在使用之前清除$_POST
个变量。我没有在这里打扰过。
然后联系wp_enqueue_scripts
操作,检查是否设置了此mapkitchentrackingcode
选项,并将其添加到wp_localize_script()
:
function wp_1231_enqueue_scripts()
{
wp_register_script('mapkitchenhandle', plugins_url('js/script.js', __FILE__));
if (false !== $trackingCode = get_option('mapkitchentrackingcode')) {
wp_localize_script('mapkitchenhandle', 'trackcode', array('track' => $trackingCode));
}
wp_enqueue_script('mapkitchenhandle');
}
add_action('wp_enqueue_scripts', 'wp_1231_enqueue_scripts');