WordPress单页替换jQuery版本失败问题求助
问题解决:特定页面替换WordPress jQuery失效的问题
问题根源:你使用
init钩子执行脚本修改操作,但这个钩子触发时,WordPress还未完成当前页面的查询流程,is_page('251')无法正确识别当前页面,导致条件判断不成立,代码无法执行。修复方案:将执行钩子从
init替换为wp_enqueue_scripts——这是WordPress官方推荐的处理前端脚本加载的钩子,触发时页面信息已完全加载,is_page()可以正常工作。
修改后的代码如下:
function wpb_modify_jquery() { // 检查是否为前端且是目标页面 if (!is_admin() && is_page('251')) { // 注销默认WordPress jQuery wp_deregister_script('jquery'); // 注册旧版jQuery脚本 wp_register_script('jquery', 'https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js', false, '1.12.4'); // 加载脚本 wp_enqueue_script('jquery'); } } // 使用正确的钩子执行函数 add_action('wp_enqueue_scripts', 'wpb_modify_jquery');
额外注意:
- 确认目标页面ID确实为251,可在后台页面编辑页的URL中查看(如
post.php?post=251&action=edit)。 - 替换旧版jQuery后,需测试目标页面的功能是否正常,避免因版本兼容问题导致主题或插件功能异常。
内容的提问来源于stack exchange,提问作者eberswine
相关产品推荐
相关产品推荐

