Использование WordPress для манипулирования URL запроса для предоставления альтернативного контента - PullRequest
0 голосов
/ 27 февраля 2020

При первой загрузке я беру IP-адрес пользователя и перенаправляю его с помощью wp_redirect на подходящий перевод.

Например, http://website.com перенаправляет на http://website.com/gb/

Я нашел что при выполнении двух запросов возникают серьезные проблемы с производительностью: сначала перенаправление, а затем перенаправление. Я провел некоторые исследования, и я изо всех сил пытаюсь найти другие возможные решения.

Есть ли способ настроить запрос на новый URL и обслуживать соответствующий переведенный контент без перенаправления пользователя?

Вот краткий пример существующего кода:

function redirect() {
    if (!get_user_location_redirect_flag()) :
        $pageLanguage = apply_filters( 'wpml_current_language', NULL ); 

        // Makes a single request to geoip 
        $usersLanguage  = get_user_language() ?? 'EN'; 

        if ( $pageLanguage !== $usersLanguage) :
            $url = build_redirect_url($usersLanguage);

            // Update the flag and prevent further redirects.
            set_user_location_redirect_flag(true);

            wp_redirect( $url );

            die;
        endif;
    endif;
}

add_action( 'template_redirect', 'redirect' );
...