Novinka: Vizuální editor pro éru AI webů. Poslední dílek skládačky, když chcete upravovat web a ne psát e-maily. www.directedit.dev

💬

Zamknout celý web mimo hlavní strany

Jak zamknout celý web tak, aby hlavní strana zůstala k dispozici? Relativně jednoduše i bez pluginů.

Občas se naskytne situace, kdy je potřeba zamknout celý web, např. mimo hlavní strany (a samozřejmě přihlášení do administrace). A než hledat složitě pluginy, které to umí (často v PRO verzi), stačí jednoduchý kód, který stránku zamkne, reps. vše přesměruje na hlavní stranu mimo definovaných výjimek:

  • je potřeba jen změnit slug hlavní strany podle toho, jak se jmenuje na vašem webu
// zapínání / vypínání uzamčení
$lock_site = true; // změň na false = vše veřejné

if ($lock_site) {

    add_action('template_redirect', function() {

        // slug of home page, that'l be visible
        $allowed_slug = 'home'; 

        $current_url = $_SERVER['REQUEST_URI'];

        // logged in? access everywhere
        if (is_user_logged_in()) {
            return;
        }

        // login is accessible
        if (strpos($current_url, '/wp-login.php') === 0) {
            return;
        }

        // wp-admin is accessible
        if (strpos($current_url, '/wp-admin') === 0) {
            return;
        }

        // another page accessible
        if (strpos($current_url, '/prihlaseni') === 0) {
            return;
        }

        // only home is accessible
        if (is_page($allowed_slug)) {
            return;
        }

        // everything else goes to home page
        wp_redirect(home_url('/' . $allowed_slug . '/'));
        exit;
    });
}

Líbil se vám článek? Pošlete ho dál:

Jitka Klingenbergová

Jitka Klingenbergová

Absolventka ČVUT FIT oboru Informatika | Programátorka | Webová vývojářka, konzultantka a mentorka
tvorime@vyladeny-web.cz

Vaše komentáře

Zanechte první komentář

Zpět k tipům

Články na podobné téma

Pravidelná dávka užitečných tipů až do schránky