使用父子页面(推荐)
如果您不需要类别(&H);帖子,那么这可以通过使用父子页面(而不是帖子)轻松实现。
例如,假设您有三个页面,如:
www.example.com/category-one/
www.example.com/category-two/
www.example.com/category-three/
现在,您可以使用slug为上述页面创建子页面
email
, e、 g。
www.example.com/category-one/email
www.example.com/category-two/email
www.example.com/category-three/email
这是可能的,因为WordPress认为页面(或任何其他层次结构帖子类型)的整个父子组合slug是唯一的。
当然,所有这些子页面email
slug是不同的页面,只是具有相同的URL slug结尾。
使用类别职位组合
Warning: 默认情况下,WordPress不支持此操作(&;有充分的理由。也许现在你有
/%category%/%postname%/
作为您当前的permalink结构,但如果将来需要更改,该怎么办?然后你会有冲突。
此外,由于WordPress内部不支持这一点,因此您可能会遇到其他插件(例如定制permalink插件、SEO插件等)无法预料的问题。
这可以使用wp_unique_post_slug
过滤器挂钩。例如,以下示例插件将允许多次出现email
段塞:
<?php
/*
Plugin Name: WPSE non-unique post slug
Plugin URI: https://wordpress.stackexchange.com/a/313422/110572
Description: WPSE non-unique post slug
Version: 1.0.0
Author: Fayaz Ahmed
Author URI: https://www.fayazmiraz.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;
}