0

我想问一下,如何做一些事情:

我有一个 Wordpress,例如二十个主题。我有它的functions.php,但最后我将我的函数包括在内:

require_once('my_functions.php');

有用 :)

现在,我想使用 jQuery 进行 ajax 调用,但我想调用的 php 函数使用的是 wordpress 全局变量。例如 $post 等。我要调用的函数也正在连接到数据库,所以如果我使用 url:my_functions.php 进行调用,这个全局变量将不起作用。我还必须创建与数据库的连接。

问题是:如何使用包含的所有 Wordpress 变量来做到这一点。

看起来我的文件不在 Wordpress 环境中,但是如何创建能够使用 Wp 环境的自定义文件?

4

1 回答 1

0

Wordpress Ajax 是您正在寻找的东西:

add_action('wp_ajax_$handlename', 'function_to_run');
add_action('wp_ajax_nopriv_$handlename', 'function_to_run');

要运行的函数将响应您的 ajax 请求。

此外,您将需要:

wp_enqueue_script( 'theme_js', get_bloginfo('template_url') . '/js/jquery-theme.js', array('jquery'), THEME_VERSION, false );
$protocol = isset( $_SERVER["HTTPS"] ) ? 'https://' : 'http://';
$params = array( 'ajaxurl' => admin_url( 'admin-ajax.php', $protocol )  );
wp_localize_script( 'theme_js', 'theme_js', $params ); 

当包含您的自定义 js 时,它知道应该在哪里搜索响应 wp_ajax 请求的 php 文件。

现在,使用 ajaxurl 您可以使用 jQuery $.post 并获得答案。

于 2013-02-08T11:17:36.337 回答