因此,在设置WordPress应该返回的内容之前,您似乎希望尽可能晚些时候返回(在某些情况下,例如sitemap.xml
正在请求)。
有两种方法大致相同,但使用WordPress API的程度不同。
同样的原则适用于几乎任何内容格式(JSON、ICAL等),而不仅仅是XML
方法1:添加提要:
这样做的好处是WordPress可以立即“识别”请求。不幸的是,它在url中留下了“feed”,这可能是/可能不是你想要的。例如,对于ICAL日历,我认为这种方法效果很好;
add_action(\'init\',\'eventorganiser_public_export\');
function eventorganiser_public_export(){
add_feed(\'wpse73174\', \'wpse73174_content_callback\');
}
然后输出由
wpse73174_content_callback()
并可在
www.example.com/feed/wpse73174/
(取决于permalinks)。
方法2:手动方法redirect_template
行动由您在此处决定查询是否针对您将要提供的内容:
add_action(\'template_redirect\',\'maybe_wpse73174_content_callback\');
function maybe_wpse73174_content_callback(){
if( /* we are after this content */ ){
wpse73174_content_callback();
}
}
现在的问题是决定用户是否请求您的内容。您需要添加自己的重写规则/永久结构和查询变量来识别查询。(对于JSON内容,添加端点非常好)。你可能会发现这些
articles written by me at WP.Tuts 相关的
回调函数wpse73174_content_callback()
需要设置标题(如果合适),打印内容,然后exit()
;
function wpse73174_content_callback(){
echo \'Hello World\';
exit();
}