我目前正在开发一个插件,在我的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, 现在页面按我想要的方式显示。谢谢