如何在我的函数中获取上下文信息

时间:2011-06-29 作者:Yoav Aner

当访问将所有上下文信息加载到$post和其他变量中的页面时,wordpress会进行什么处理?是否可以手动(或模拟)触发此过程,以便函数调用具有此上下文?

我这样问是因为我写了一篇plugin 允许用户通过Ajax调用wordpress函数。

该插件适用于无上下文功能。然而,它有一个很大的限制:通过ajax调用函数会丢失上下文信息(例如$post),如果调用的函数是从模板中放置的,则会丢失上下文信息。

但是,ajax调用确实会跨HTTP引用方发送信息。我可以很容易地提取推荐人信息,因此我知道用户所在的页面。问题是我不知道如何进一步使用它。如有任何提示/想法,将不胜感激。

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

您正在请求索引。php,我想这是主页;例如,如果我通过ajax从category页面调用is\\u category(),我将得到false,因为该函数是在主页上运行的。使用$_SERVER["REQUEST_URI"] 相反(不要忘记对其进行消毒)

你把你的处理手挂在init 操作,我认为它在设置post数据之前运行。使用另一个,如wptemplate_redirect

SO网友:Bainternet

要使用ajax调用中的WordPress函数,您需要将自己的函数挂接到wp admin/admin ajax。php

为了更好地理解,请查看This.

结束

相关推荐

如何使用AJAX保存/更新小部件表单?

我的自定义小部件的表单将有两个下拉菜单:第二个菜单的内容取决于用户在第一个菜单中的选择(想想国家和州/省的工作方式)。我认为最简单的实现(虽然可能不是最方便的)就是在第一个下拉菜单更改时自动提交表单(即:<select onchange=\"submit_the_page_via_ajax()\">). 我试过了onchange=\"this.form.submit();\" 但这并没有让我惊讶地利用Ajax调用(我原以为老练的WordPress开发人员会hiJaxed 表单的提交事件)。但是