我写了一个插件,名为foo
, 当用户键入url时/hello
它将显示字符串world
有an existing post 它使用以下代码
if ($_SERVER["REQUEST_URI"] == \'/hello\') {
echo "world";
die;
}
但这是黑客行为,因为它会立即终止。例如,它忽略shutdown
钩是否有更好的方法允许我打印输出并优雅地遵循操作生命周期?
我写了一个插件,名为foo
, 当用户键入url时/hello
它将显示字符串world
有an existing post 它使用以下代码
if ($_SERVER["REQUEST_URI"] == \'/hello\') {
echo "world";
die;
}
但这是黑客行为,因为它会立即终止。例如,它忽略shutdown
钩是否有更好的方法允许我打印输出并优雅地遵循操作生命周期?
因此,在设置WordPress应该返回的内容之前,您似乎希望尽可能晚些时候返回(在某些情况下,例如sitemap.xml
正在请求)。
有两种方法大致相同,但使用WordPress API的程度不同。
同样的原则适用于几乎任何内容格式(JSON、ICAL等),而不仅仅是XML
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)。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();
}
我正在使用自定义插件创建自定义帖子类型。自定义帖子类型的一个要求是在表格布局中显示,以便打印/发送电子邮件。对于这种情况,合理的解决方案似乎是在插件中包含一个特定的模板文件,该模板文件将用于单个自定义Post类型查询,而不是单个。php/索引。主题中提供的php。我如何使用插件中的文件替换单个插件。php/索引。php上的单一自定义post类型查询?提前谢谢你。