我有两次安装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' );
答案 0 :(得分:1)
尝试使用此:
$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' );
希望这有帮助=)