我目前正在开发一个插件,在我的wordpress网站上显示一些自定义数据。
例如,我有一个名为abc
. 如果访客试图访问localhost/wordpress/abc
, 它应该以编程方式显示代码中的数据。但是如果访问了一个有效的post url,如localhost/wordpress/existing-post
它仍应显示帖子。
我目前正在研究使用template_redirect
行动和redirect_canonical
过滤,但解决方案感觉不正确。此外,我正在考虑使用自定义帖子类型,但不确定它是否合适。
我尝试为每个数据创建一个帖子,并使用the_content
筛选以显示数据的详细信息,但此方法生成的帖子太多,因此我正在寻找更干净的替代方法。
我拥有的数据是随着时间的推移在后台生成的。因此,未来它将增长到数千或数万。
非常感谢。
编辑:
我领养了404 Tools plugin
托肖。这些是我修改和使用的重要部分
add_filter( \'404_template\', \'myplugin_display_data\' );
public function myplugin_display_data( $template )
{
status_header(200);
new self;
//For now forward everything to my own page for testing purpose
return dirname(__FILE__) . \'/myplugin-page.php\';
}
现在我注意到输出将
error404
在body的CSS类的一部分中,它仍然像404一样呈现输出。我该怎么做
post
或
page
无需手动重写变量
$wp_query
, e、 g.正在进行
$wp_query->is_page = true;
我正在寻找一种优雅的方式来做到这一点。
编辑:我已添加
global $wp_query;
$wp_query->parse_query("/");
之后
status_header
, 现在页面按我想要的方式显示。谢谢