You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何wp_add_inline_script函数返回false且无法添加JS代码?

问题原因及解决办法

核心问题:脚本Handle错误

你传入wp_add_inline_script的第一个参数是wp-block-navigation-view-js,但这是页面上脚本标签的ID,不是WordPress注册该脚本时用的Handle。

WordPress注册脚本时的Handle是wp-block-navigation-view,输出到前端时会自动在Handle后加上-js作为script标签的ID。你用了错误的Handle,导致函数找不到目标脚本,返回false。

修正步骤

  1. 修改wp_add_inline_script的第一个参数为正确的Handle:
function bd_dodaj_skrypty() {
  $result = wp_add_inline_script(
    'wp-block-navigation-view', // 移除末尾的-js
    'console.log("inline działa")',
    'before'
  );

  if ($result) {
    echo "true";
  } else {
    echo "false";
  }
}
  1. 确保钩子执行时机正确(可选但保险)
    如果修改Handle后仍返回false,说明你的函数执行时机早于目标脚本的入队时间。可以调整add_action的优先级,让你的函数晚执行:
add_action('wp_enqueue_scripts', 'bd_dodaj_skrypty', 20); // 优先级设为20,晚于默认的10

关键逻辑说明

  • wp_add_inline_script要求目标脚本必须已经被注册或入队,才能成功添加内联脚本。
  • 脚本的Handle与前端输出的ID是两个概念:Handle是后台注册时的唯一标识,前端ID是Handle自动追加-js生成的。

内容的提问来源于stack exchange,提问作者John616

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 05:25:01