Skip to content

Instantly share code, notes, and snippets.

@MacDada
Last active March 13, 2019 14:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save MacDada/f936574da4485f7ccd7346059125842b to your computer and use it in GitHub Desktop.
Save MacDada/f936574da4485f7ccd7346059125842b to your computer and use it in GitHub Desktop.
<?php
// https://www.wykop.pl/wpis/39614135/mirki-chce-przekierowanie-na-wp-jesli-httpacceptla/
// 1. Zawsze porównuj z `===` - w bardzo wyjątkowych przypadkach `==` jest słuszne. Doczytaj sobie w dokumentacji dlaczego.
// 2. Spójność napisów - masz raz tak, raz inaczej, bez reguły. Najlepiej zawsze używaj apostrofów do napisów (`'`), chyba że faktycznie chcesz interpolować zmienne lub mieć znaki nowej linii, itp. (wtedy cudzysłowy `"`).
// 3. Jak kolega wyżej słusznie zauważył, `$_SERVER['HTTP_ACCEPT_LANGUAGE']` może nie istnieć. Powinieneś sprawdzać najpierw czy w ogóle jest wartość (np `isset`em) i uwzględnić ten przypadek.
// 4. Zmienne `$url` są Ci zbędne - wsadzaj wartość bezpośrednio do `wp_redirect`.
// 5. Jak już jesteś na głównej z PL, to przekierowanie zbędne.
// 6. Weź pod uwagę, że klient może przesłać język wielkimi literami.
add_action( 'init', 'custom_lang_found' );
function custom_lang_found() {
$lang = strtolower(substr($_SERVER['HTTP_ACCEPT_LANGUAGE'] ?? null, 0, 2));
if ('en' === $lang) {
wp_redirect(get_home_url().'/en/');
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment