代码解释:为什么要使用add_action 将同一个函数注册两次
函数用于将回调函数与特定的动作钩子关联起来。在 WordPress 的 Ajax 功能中,存在两种情况需要处理:
- 当用户已登录(Authenticated User)时,使用 动作钩子处理 Ajax 请求。
- 当用户未登录(Non-authenticated User)时,使用 动作钩子处理 Ajax 请求。
这样做是为了确保在用户已登录时只处理特定的 Ajax 请求,并在用户未登录时也能处理相应的请求。因此,我们需要使用两个 来注册这两个不同的动作钩子。
关于动作名称, 和 是固定的前缀,不能更改。而后面的动作名称,例如 ,是可以自定义的,只要保证在 函数中使用相同的名称即可。这样才能正确地将 Ajax 请求路由到相应的回调函数。
总结起来, 是处理已登录用户的 Ajax 请求的动作钩子, 是处理未登录用户的 Ajax 请求的动作钩子。它们的名称是固定的,不能更改前缀,但可以自定义后缀部分。
在functions.php 文件中添加代码,找到这个wp_enqueue_scripts添加代码
解释一下上面的代码
这段代码是在 WordPress 中用于注册和加载自定义的 jQuery 脚本,并将 AJAX 请求的 URL 传递给前端脚本。
解释如下:
-
:定义了一个名为 的自定义函数。该函数将被添加到 钩子的回调函数中。
-
:这是 函数的调用,用于将数据传递给前端脚本。
- 是需要传递数据的脚本句柄,通常是你自己定义的脚本句柄。
- 是用于在 JavaScript 中访问这些数据的对象名称,你可以根据需要修改它。
- 是一个关联数组,其中 是要传递的数据键名, 是一个 WordPress 提供的函数,用于获取处理 AJAX 请求的 PHP 文件的 URL。
-
:将自定义函数 添加到 钩子的回调函数中。这将确保在加载脚本时调用 函数。
该函数的语法如下:
- :(字符串)要传递数据的脚本句柄。这通常是你在使用 函数加载脚本时指定的句柄。
- :(字符串)在 JavaScript 中访问这些数据的对象名称。你可以根据需要为对象指定一个名称。
- :(数组或对象)要传递给前端脚本的数据。你可以使用关联数组或对象来表示数据。
的作用是将 PHP 中的数据传递到前端脚本中,这样前端脚本就可以在运行时使用这些数据。通常情况下,这种技术被用于将 AJAX 请求的 URL、动态生成的数据或其他需要在 JavaScript 中访问的数据传递给前端脚本。
在前端脚本中,你可以通过访问 对象(或你在 参数中指定的对象名称)来获取传递的数据。例如,如果你传递了一个名为 的数据键名,你可以通过 来获取对应的值。