集成到WordPress的外部页面返回404错误

时间:2011-07-12 作者:David Hancock

我有一个脚本,我想从我的WordPress主题通过AJAX调用,它依赖于WordPress的一些核心功能,因此我将WordPress博客标题包括在内,如下所示:

define( \'WP_USE_THEMES\', false );
require( \'../../../../wp-blog-header.php\' );
在处理过程中的某个地方wp-blog-header.php WordPress设置了一个404头,这会导致我的AJAX请求失败,即使我调用的脚本存在并且正在返回内容。

后来我又加了status_header( 200 ); 在那段代码之后,它将状态标题改回200并解决了问题,但是感觉很像是一个黑客,所以我想知道是否有一个建议的解决方案来解决这个问题?

3 个回复
SO网友:shea

你应该包括wp-load.php, 不wp-blog-header.php (仅限WordPress使用)。这很可能是您的问题的原因。

SO网友:Bainternet

是的,有一个推荐的通过AJAX使用WordPress函数的解决方案,即使用wp_ajax 挂钩。您可以看到一个非常详细的示例in my answer to "What\'s the preferred method of writing AJAX-enabled plugins?“”

SO网友:Tom J Nowell

除了将WordPress包含在“解决方案A”中之外,您是否考虑过另一种方法,使用非常优秀/更简单的WP AJAX API,然后将“解决方案A”包含在WordPress中?

正在调用wp博客标题。php for AJAX是一个巨大的错误,我不能强调您引入的安全性和维护方面的头痛问题有多大(例如,这个问题演示了其中的一些)

What's the preferred method of writing AJAX-enabled plugins?

还包括wp-load.phpwp-blog-header.php

结束

相关推荐