我使用外部文件来处理WP插件中的AJAX调用。为了解决WP方法问题,我做了一个下面的黑客攻击:
require( '../../../wp-blog-header.php' );
header("HTTP/1.1 200 OK");
问题是,似乎我无法获取任何变量,具体到它的页面状态。例如,get_query_var('page')
总是空着。
是将Javascript放入插件主.php文件的唯一解决方案,并从那里获取'page'变量,将其提供给脚本(它应该通过钩子工作)?我想不惜一切代价避免混合PHP和JS。
P.S。为了更大的事实,我无法检索该变量。不过,我仍然可以获得最大页码,呼叫$q = $GLOBALS['wp_query'];
$max = $q->max_num_pages;
。接受的答案肯定是正确的,但我相信这是一个错误。我有空的时候会问 wp-hackers 的人,希望能更新这个问题。
答案 0 :(得分:3)
如果您正在使用get_query_var('page')
,请确保在调用该函数之前实际在该页面上运行查询。
答案 1 :(得分:0)
评论有点长,所以我将其添加为答案。如果它不包含解决方案,请耐心等待:
get_query_var('page')
只会在运行实际查询时返回一些内容。当您直接请求插件PHP脚本时,情况肯定不是这样。
所以问题是,你指的是哪种page
变量?可能是$_REQUEST['page']
吗?这只是猜测,也许你可以在你的问题中添加关于触发你的AJAX调用的页面的更多信息。