我有两个php文件;一个叫做page-my-template.php
, 在里面,我有一个<div></div>
我想包含来自另一个php文件的所有代码my-content.php
. 我原以为这很简单,但事实证明这是一个非常头痛的问题。
在继续之前,我没有使用JSON,没有使用任何表单或传递数据,也没有编写插件。我只是有一个在我的页面上只使用一次的模板文件,名为page-my-template.php
, 我需要从my-content.php
在div中。使用jQuery.load()
, 但没有,请阅读下面的内容。
文件内部my-content.php
, 我正在使用许多核心函数,如get\\u option()、WP\\u Query()等。当然,如果我使用jQuery.load("my-content.php")
. 我意识到我需要通过admin-ajax.php
为了以正确的方式进行此操作。
我花了很多时间阅读关于如何将ajax与Wordpress结合使用的教程。我所看到的关于如何将ajax与Wordpress结合使用的所有教程都非常复杂,涵盖的内容远远超过我所寻求的内容,例如创建自定义挂钩、使用表单和编写插件。是否有一种简单的方法来包含admin-ajax.php
, 这样我就可以访问Wordpress的核心方法my-content.php
文件如果是这样的话,请告诉我要包含它的代码是什么,以及该代码的确切位置。
最合适的回答,由SO网友:Milo 整理而成
在WordPress中使用AJAX基本上非常简单。
您需要一个处理AJAX请求的函数,以及add_action
调用将该函数映射到action
您传递给admin-ajax.php
, 在这种情况下,some_action
:
function wpd_ajax_function() {
get_template_part( \'my-content\' );
wp_die();
}
add_action( \'wp_ajax_some_action\', \'wpd_ajax_function\' );
add_action( \'wp_ajax_nopriv_some_action\', \'wpd_ajax_function\' );
这将符合你的主题
functions.php
文件您可以看到,该函数所做的只是加载
my-content.php
文件,然后退出执行。
一旦你准备好了,你可以通过访问admin-ajax.php
在浏览器中使用some_action
附加的操作:
http://yourdomain.com/wp-admin/admin-ajax.php?action=some_action
您应该看到您的输出。如果你用你的
jQuery.load()
代码,你应该拥有你需要的一切。