有没有办法在wordpress上创建“虚拟”的弹头?
例如:我创建了一个名为"year“的自定义post类型,slug是/year/。创建此自定义post类型只是为了生成插件(/year/)。我在这个自定义的帖子类型中没有任何帖子。
我想输入url /year/1988/,然后Wordpress调用single.php文件。如果我今天这样做,wordpress将返回404,因为1988需要是自定义post类型(Year)中的post。
我需要一些.php代码或.htaccess来做一些类似的事情:如果在/ year /‘t之后输入一些东西,则加载单个文件,因为我不能为每一年、1901、1902、1903创建条件……我将获取此信息并进行必要的查询。
发布于 2018-09-29 06:41:48
如果您需要此功能在您的主页上运行,请仅使用(即,mysite.org/years/1988
)您可以添加自定义重写标签和规则:
add_filter( 'init', function() {
add_rewrite_tag( '%years%', '([^&]+)' );
// Match the front page and pass years value as a query var.
add_rewrite_rule( '^years/([^/]*)/?', 'index.php?years=$matches[1]', 'top' );
});
然后使用新的查询var加载不同的模板:
add_filter( 'template_include', function( $template ) {
if ( get_query_var( 'years' ) ) {
$new_template = locate_template( array( 'single.php' ) );
if ( !empty( $new_template ) ) {
return $new_template;
}
}
return $template;
});
我试着使用year
,但它不起作用,我想它是Wordpress使用的保留查询变量。别忘了冲厕所,我的意思是重写规则;)。
https://stackoverflow.com/questions/52562665
复制相似问题