WordPress如何对不同的类别使用相同的别名slug

使用类别-帖子组合

注意:默认情况下,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

声明:本站资源绿色无后门无广告,可放心下载。如无特殊说明或标注,均为本站原创发布,转载请注明出处!