我有一个脚本,我想通过AJAX从我的WordPress主题调用,它依赖于一些核心的WordPress函数,所以我包括WordPress博客标题如下:
define( 'WP_USE_THEMES', false );
require( '../../../../wp-blog-header.php' );在wp-blog-header.php的处理过程中,WordPress设置了一个404头,这会导致我的AJAX请求失败,即使我正在调用的脚本存在并且正在返回内容。
从那以后,我在代码片段之后添加了status_header( 200 );,它将状态头改为200并解决了这个问题,但是它感觉非常像一个黑客,所以我只是想知道这个问题是否有推荐的解决方案?
发布于 2012-09-18 06:06:23
您应该包括wp-load.php,而不是wp-blog-header.php (只供WordPress使用)。这很可能是你问题的原因。
发布于 2011-07-12 16:24:35
是的,通过AJAX使用WordPress函数有一个推荐的解决方案,那就是使用wp_ajax挂钩。您可以看到一个非常详细的示例在回答“编写支持AJAX的插件的首选方法是什么?”“
发布于 2012-09-18 11:55:06
与其将WordPress包含在“解决方案A”中,您是否考虑过以相反的方式来实现它,使用更优越/更简单的WP AJAX,然后在WordPress中包含“解决方案A”?
为AJAX调用wp-blog- that er.php是一个巨大的错误,我不能强调您正在介绍的、安全性和维护方面的头痛程度(例如,这个问题说明了其中的一些问题)。
还包括wp-load.php而不是wp-blog-header.php
https://wordpress.stackexchange.com/questions/22739
复制相似问题