Note 搜索引擎可能不喜欢指向同一内容的多条路径!
在此,我假设您想要,例如:
example.tld/some/path/to/painting-orange
example.tld/painting-blue
example.tld/painting-red
example.tld/painting-yellow
要表现得像此页面一样:
example.tld/paintings
但对于以下路径,情况并非如此:
example.tld/painting-white/painting-brown/large
example.tld/painting-brown/small
这里的规则是匹配
basename( $path )
.
这里有一个小黑客request
筛选器,以检查当前页面名称的前缀是否正确:
<?php
/**
* Plugin Name: Wildcard Pages
*/
add_filter( \'request\', function( $qv )
{
// Edit to your needs
$prefix = \'painting-\';
$target = \'paintings\';
// Check if the current page name is prefixed
if( isset( $qv[\'pagename\'] )
&& $prefix === substr( basename( $qv[\'pagename\'] ), 0, strlen( $prefix ) )
)
$qv[\'pagename\'] = $target;
return $qv;
} );
根据您的需要进行修改。然后创建插件文件
/wp-content/plugins/wpse-wildcard-pages/wpse-wildcard-pages.php
文件并从后端激活插件。
我们还可以添加一张支票get_page_by_path()
在目标页面上,只是为了确保它存在。我们可能还想将此限制为某些帖子类型。