重定向WordPress上更改的固定链接

时间:2019-05-28 作者:Godwin Alex Ogbonda

请注意,我最近更改了我的网站永久链接结构,从https://example.com/postname/https://example.com/category/postname/

我已经在网上搜索过了,甚至在这里也搜索过了,但我看到的都是/postdate/year/postname/to/postname/

由于我有许多类别,我无法对此进行htaccess 301重定向,请问还有其他方法可以做到这一点吗?

1 个回复
最合适的回答,由SO网友:Deepak Singh 整理而成

我假设您已经通过在上定义自定义permalink结构添加了新的permalink结构

https://yoursite.com/wp-admin/options-permalink.php
并添加/%category%/%postname%/custom structure 领域这是WordPress默认/建议的方法。

enter image description here

在这之后,你需要flush 通过保存和reloading 永久链接设置页面。

这不适用于自定义帖子类型,只适用于WordPress默认帖子类型。对于自定义的帖子类型,您必须应用额外的挂钩或在registering custom post type 作用

您应该阅读WordPress官方文档using permalinks.

Update:

在这种情况下,您可以使用“404_template“过滤器。

示例:

add_filter( \'404_template\', \'custom_redirect_to_category\' );

function custom_redirect_to_category($template) {

    if ( ! is_404() ){
        return $template;
    }

    global $wp_rewrite;
    global $wp_query;

    if ( \'/%category%/%postname%/\' !== $wp_rewrite->permalink_structure ){
        return $template;
    }   

    if ( ! $post = get_page_by_path( $wp_query->query[\'category_name\'], OBJECT, \'post\' ) ){
        return $template;   
    }

    $permalink = get_permalink( $post->ID );

    wp_redirect( $permalink, 301 );
    exit;

}

相关推荐

Categories manage

我正在尝试向CPT中添加特定类别,只有在添加新帖子时,您才能看到与这些帖子类型相关的类别。此外,我希望能够从后端添加类别,而不是从代码添加类别,因为我有很多类别将要更改。如果有一个插件可以做到这一点,那很好,但我也希望了解它是如何做到的。非常感谢