我正在我的 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/

10-09 23:30
查看更多