我正在开发一个WP插件。
目前,我正在使用jquery对我的插件文件夹中的独立php文件进行ajax调用。
我们假设这个文件名为 test.php 。
在此调用之前未加载文件,因此此文件中没有本机wordpress函数。
因此,我在test.php中有require_once('wp.load');
。
这里提出了我的问题:
wordpress所需的唯一功能是$ wpdb-> insert。是否有比wp-load更好的功能?一些不包含太多的东西,因为我只需要这个功能!
我知道require_once只在尚未加载的情况下加载文件。也许我忽略了这种情况,但是这如何与ajax一起工作?如果有“成功”响应,test.php是否关闭,因此当再次调用时,它会再次加载wp-load.php
?
谢谢!
答案 0 :(得分:1)
如果有“成功”响应,test.php会关闭,因此当它 再次调用,它再次加载wp-load.php?
完全。 require_once
(或include_once
)背后的概念是确保您不重新加载相同的函数,类和&变量同时存入同一个当前运行的 PHP代码:
在可能存在相同文件的情况下,可能会使用
include_once
在特定执行期间不止一次地包含和评估 一个脚本,所以在这种情况下,它可以帮助避免诸如功能之类的问题 重新定义,变量值重新分配等。
由于PHP脚本仅在请求时运行,因此您所描述的就是它将如何发生。
那就是说,我不会过度考虑每次需要时加载整个wp.load
的概念。我怀疑它会导致这样的性能损失甚至是显而易见的。
答案 1 :(得分:0)
您应该考虑按照this方法编写一个支持Ajax的插件。通常不需要创建单独的PHP文件并将WordPress核心加载到该文件中。仔细阅读,你会发现,这是相对容易完成的,并且比独立的PHP文件更灵活......