最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

categories - WP_safe_redirect not working

programmeradmin6浏览0评论

Instead of the project archives in my Divi theme being at /project_category/[category name]/ I want them to go to /portfolios/#[category name].

I modified the following code from this question and added it to my child theme's functions.php file.

function my_category_redirect()
{
    if ( is_category( ) ) {
        $category = get_queried_object();
        $cat_id = $category->term_id;
        $url = site_url( '/portfolios/#' . $cat_id);
        wp_safe_redirect( $url, 301 );
        exit();
    }
}
add_action( 'template_redirect', 'my_category_redirect' );

However this is not working. The project categories are still going to /project_category/[category name]/. I can't tell if the my_category_redirect function is even being called.

Any help is much appreciated!

Instead of the project archives in my Divi theme being at /project_category/[category name]/ I want them to go to /portfolios/#[category name].

I modified the following code from this question and added it to my child theme's functions.php file.

function my_category_redirect()
{
    if ( is_category( ) ) {
        $category = get_queried_object();
        $cat_id = $category->term_id;
        $url = site_url( '/portfolios/#' . $cat_id);
        wp_safe_redirect( $url, 301 );
        exit();
    }
}
add_action( 'template_redirect', 'my_category_redirect' );

However this is not working. The project categories are still going to /project_category/[category name]/. I can't tell if the my_category_redirect function is even being called.

Any help is much appreciated!

Share Improve this question edited Sep 18, 2020 at 4:24 clayRay asked Sep 17, 2020 at 8:01 clayRayclayRay 1351 silver badge10 bronze badges
Add a comment  | 

1 Answer 1

Reset to default 1

Your action callback probably gets called, but it could be that the if-statement that just fails. Are you using the default "category" taxonomy (i.e. Dashboard > Posts > Categories) or a custom taxonomy (i.e. Dashboard > {my-post-type} > {my-taxonomy}) as the project category?

If you're using a custom taxonomy, then you should use is_tax('my-taxonomy') instead of is_category() as the latter checks for the default category, not custom ones.

But, you can temporarily add a die('it works'); to your callback also, before the if statement, to verify that it gets called.

发布评论

评论列表(0)

  1. 暂无评论