我正在我的 wordpress 中执行 jquery ajax 请求。这将调用一个内部 php 脚本。
这个 php 脚本需要能够访问某些 wordpress 功能,例如...functions.php
这对我来说很简单。
我不能做的是访问信息,如当前的 wordpress 用户 $wpdb 对象。
我的问题是......是否有一些我可以包含的 wordpress 文件,它使我可以访问所有数据(和functions.php)。
我希望你理解我正在访问的内容,因为我知道这可能是世界上最糟糕的解释
:D
最佳答案
糟糕的方式 (正如其他人指出的那样)
当我创建一些用于 wordpress 的自定义 PHP 时,我包含了 wp-load.php
文件。然后加载所需的所有内容,包括 $wpdb
。
require_once('wp-load.php'); // relative path from your PHP file
global $wpdb;
$wpdb->show_errors = TRUE; // useful for when you first start
我发现这是快速修复的一个不错的起点。但是您必须记住,这将加载比您实际需要的更多的功能。从而导致性能时间变慢。
好方法
一旦功能变得更加复杂,“糟糕”的实现就不会被证明是那么好。所以我转而开始编写插件。 WordPress codex 包含有关使用 AJAX 和插件的好信息:http://codex.wordpress.org/AJAX_in_Plugins
在最基本的形式中,您需要注册您的 AJAX 钩子(Hook):
// 'wp_ajax_foo' is the hook, 'foo' is the function that handles the request
add_action( 'wp_ajax_foo', 'foo');
您还需要相应的函数(在本例中为
foo
):function foo() {
// handle the AJAX request
$bar = $_POST['bar'];
}
然后在您的 JavaScript 中,您确定要使用
action
属性的钩子(Hook),但省略 wp_ajax
部分:$.post(ajaxurl, { action: 'foo', bar: true }, function(response) {
// do something with response
});
关于php - 在 wordpress 中创建 ajax 调用。我必须包含什么才能访问 wordpress 功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14185582/