您可以添加一个重写端点,该端点可以附加到单介质永久链接的末尾,以确定哪些请求应该获得备用模板。
步骤1,添加端点:
function wpd_rewrite_endpoint() {
add_rewrite_endpoint( \'music-library\', EP_PERMALINK );
}
add_action( \'init\', \'wpd_rewrite_endpoint\' );
将上述代码添加到插件或主题后
functions.php
文件,请访问设置>永久链接页面以刷新重写规则。
假设您的媒体帖子永久链接为:
http:example.com/media/my-media-post/
现在,您还应该能够访问带有端点的URL,并看到相同的视图:
http:example.com/media/my-media-post/music-library/
步骤2,添加
single_template
过滤器:
function wpd_single_template( $template ) {
global $wp_query;
// if this is a media post
// AND the media-library endpoint is present,
// load the alternate template
if( \'media\' == get_post_type( get_queried_object() )
&& isset( $wp_query->query_vars[\'music-library\'] ) ){
$template = locate_template( \'single-music-library.php\' );
}
return $template;
}
add_filter( \'single_template\', \'wpd_single_template\' );
将上述代码添加到插件或主题后
functions.php
, 原始URL将继续加载您的
single-media.php
模板,而包含端点的任何URL都将加载
single-music-library.php
样板
在这两种情况下,规范URL都将指向原始URL,因此搜索引擎只会为单个版本编制索引,从而避免重复的内容问题。
最后一步是修改page-music-library.php
要添加的模板music-library/
在每个媒体帖子的永久链接之后。