当访问将所有上下文信息加载到$post和其他变量中的页面时,wordpress会进行什么处理?是否可以手动(或模拟)触发此过程,以便函数调用具有此上下文?
我这样问是因为我写了一篇plugin 允许用户通过Ajax调用wordpress函数。
该插件适用于无上下文功能。然而,它有一个很大的限制:通过ajax调用函数会丢失上下文信息(例如$post),如果调用的函数是从模板中放置的,则会丢失上下文信息。
但是,ajax调用确实会跨HTTP引用方发送信息。我可以很容易地提取推荐人信息,因此我知道用户所在的页面。问题是我不知道如何进一步使用它。如有任何提示/想法,将不胜感激。
最合适的回答,由SO网友:onetrickpony 整理而成
您正在请求索引。php,我想这是主页;例如,如果我通过ajax从category页面调用is\\u category(),我将得到false,因为该函数是在主页上运行的。使用$_SERVER["REQUEST_URI"]
相反(不要忘记对其进行消毒)
你把你的处理手挂在init
操作,我认为它在设置post数据之前运行。使用另一个,如wp
或template_redirect