无法访问通过AJAX调用的文件中的WordPress函数?

时间:2011-04-18 作者:EnexoOnoma

我正在尝试使用jQuery重新加载新帖子。据我所知,我无法在页面中重新加载div的内容,所以我将文件重新加载到该div中。

问题是我加载的文件给了我Fatal error: Call to undefined function wp_query()

如何对主题目录中新创建的文件实现功能以正常工作?

This is my jQuery

<script language="JavaScript">
$(function() {
    var SANAjax = function(){

    }
    setInterval(SANAjax, 15000 );
});
</script>
And this is what i have in reloadhomeposts.php (I have deleted the content though)

<?php $recent = new WP_Query("cat=3,4,5&showposts=10"); while($recent->have_posts()) : $recent->the_post();?>
.
.
.
<?php endwhile; ?>

2 个回复
最合适的回答,由SO网友:Scott 整理而成

出现此错误的原因是您加载文件时没有在WordPress系统中加载,因此wp\\u query()不存在。

快速修复方法是:

include("../../../wp-load.php"); <;--猜测wordpress文件的位置。

在php文件的顶部。

SO网友:scribu

正确的处理方法是使用WP的管理ajax。php文件,而不是您自己的。参见本法典页:

http://codex.wordpress.org/AJAX_in_Plugins#Ajax_on_the_Viewer-Facing_Side

与其把代码放在插件中,不如把它放在函数中。php文件。

结束

相关推荐

使用functions.php使子菜单项成为管理菜单中的主链接

我正在尝试使用这些函数自定义管理区域。php文件,使我的客户更容易处理。我之前收到的一个请求是将一些子菜单移到主导航中,希望能够完成。例如,我想让小部件和菜单出现在主导航中,而不是作为外观的子菜单。然后,我将一起删除“外观”选项卡。我已经能够删除选项卡,但无法为小部件和菜单创建新按钮。即使我可以得到帮助,而不是从技术上移动它们,而是创建一个新按钮并自己设置链接(例如,对于菜单->/nav Menus.php)。这有可能吗?谢谢