Wordpress - Добавление косой черты при перенаправлении страниц автора на домашнюю страницу - PullRequest
0 голосов
/ 19 декабря 2018

У меня есть две установки 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' );

1 Ответ

0 голосов
/ 19 декабря 2018

Попробуйте использовать это:

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

wp_safe_redirect( $redirect_url, 301 );

get_bloginfo ('url') - это функция-обертка для home_url (), ref: 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' );

Надеюсь, это поможет =)

...