使用类别-帖子组合
注意:默认情况下,WordPress不支持此功能,这是有充分理由的。也许您现在拥有当前的永久链接结构,但如果将来需要更改怎么办?然后你就会有冲突。
/%category%/%postname%/
此外,由于WordPress内部不支持此功能,因此其他插件(例如自定义永久链接插件,SEO插件等)可能会遇到不可预见的问题。
这可以使用wp_unique_post_slug
过滤器钩子。例如,以下示例插件将允许多次出现 theslug:email
<?php
/*
Author: wp操
Author URI: https://blog.jinlinet.com/
*/
add_filter( 'wp_unique_post_slug', 'wpse313422_non_unique_post_slug', 10, 6 );
function wpse313422_non_unique_post_slug( $slug, $post_ID, $post_status, $post_type, $post_parent, $original_slug ) {
if( $post_type === 'post' && $original_slug === 'email' ) {
// Perform category conflict, permalink structure
// and other necessary checks.
// Don't just use it as it is.
return $original_slug;
}
return $slug;
}
使用父子页面(推荐)
如果您不必有类别和帖子,那么这可以使用父子页面(不是帖子)轻松实现。
例如,假设您有三个页面,如下所示:
www.example.com/category-one/
www.example.com/category-two/
www.example.com/category-three/
现在,您可以使用 slug 为上述页面创建子页面,例如email
www.example.com/category-one/email
www.example.com/category-two/email
www.example.com/category-three/email
这是可能的,因为WordPress认为页面(或任何其他分层帖子类型)的整个父子组合子组合都是唯一的。
当然,所有这些带有 slug 的子页面都是不同的页面,只是具有相同的结束 URL slug。email