Wordpress - 将作者页面重定向到主页时添加尾部斜杠

Wordpress - Adding a trailing slash when redirecting author pages to homepage

我安装了两个 Wordpress,一个在根目录(例如 www.example.com),另一个在文件夹(例如 www.example.com/ask/)。

我已经将所有作者页面重定向到第一个的根目录,但第二个页面以 www.example.com/ask 结束(注意没有尾部斜线)。作为一种解决方法,我随后添加了一个重定向,以便转到例如www.example.com/ask/,但链条并不理想。

如何使用此代码:

function disable_author_page() {
    global $wp_query;
    if ( $wp_query->is_author ) {
        wp_safe_redirect( get_bloginfo( 'url' ), 301 );
        exit;
    }

}
add_action( 'wp', 'disable_author_page' );

..并让它在末尾添加尾部斜线?

谢谢!

更新:这行得通吗?

function disable_author_page() {
    global $wp_query;
    if ( $wp_query->is_author ) {
        wp_safe_redirect( $path = trailingslashit( get_bloginfo( 'url' ) ), 301 );
        exit;
    }

}
add_action( 'wp', 'disable_author_page' );

试试这个:

$url = home_url( '/' );
$redirect_url = esc_url( $url );

wp_safe_redirect( $redirect_url, 301 );

get_bloginfo('url') 是 home_url() 的包装函数,参考:https://codex.wordpress.org/Function_Reference/home_url

正如您在示例中看到的那样,它将在 url 的末尾添加斜线。所以你的最终功能将是这样的:

function disable_author_page() {
    global $wp_query;

    if ( $wp_query->is_author ) {
       $url = home_url( '/' );
       $redirect_url = esc_url( $url );

       wp_safe_redirect( $redirect_url, 301 );

       exit;
    }

}

add_action( 'wp', 'disable_author_page' );

希望这对您有所帮助 =)