Ak práve pracuješ na webe postavenom na Divi (alebo inom WordPress webe) a nechceš, aby ho videli bežní návštevníci počas úprav, existuje rýchly a spoľahlivý spôsob, ako ich presmerovať na stránku „Under Construction“, zatiaľ čo ty a tvoj tím máte plný prístup.
Najprv vytvor novú stránku „Under Construction“ v Divi
- V administrácii WordPressu prejdi do menu: Stránky > Pridať novú
- Nazvi ju napríklad Under Construction alebo Pracujeme na webe
- Vpravo v nastaveniach stránky (bočný panel) zmeň typ šablóny na:
- Šablóna (Template): Blank Page
- Týmto odstrániš hlavičku, menu a pätičku – stránka bude čistá a môžeš si dizajn prispôsobiť od nuly.
- Klikni na „Použiť Divi Builder“ a navrhni jednoduchú vizuálnu stránku s informáciou, že web je dočasne nedostupný (napr. s ikonou, hodinami, kontaktom alebo logom).
- Publikuj stránku a skopíruj jej URL – táto adresa musí byť rovnaká ako v presmerovaní (napr. https://test.webyxl.com/under-construction).
Potom nastav presmerovanie
- Povoliť prístup len prihláseným používateľom
- Všetkých ostatných presmerovať na stránku: https://test.webyxl.com/under-construction
- Nezasahovať do adminu a umožniť prihlásenie
- Vypnúť funkciu len odstránením kódu z functions.php
Kód na vloženie do functions.php
Vlož nasledujúci kód do súboru functions.php tvojej aktívnej (child) témy:
// functions.php (umiestni čo najvyššie)
add_action('template_redirect', 'webyxl_uc_redirect', 1);
function webyxl_uc_redirect() {
// Prihlásených nepustiť do redirectu
if ( is_user_logged_in() ) return;
// Povoľ admin, AJAX/CRON, REST, feed/preview
if ( is_admin()
|| wp_doing_ajax()
|| wp_doing_cron()
|| (defined('REST_REQUEST') && REST_REQUEST)
|| is_feed() || is_trackback() || is_preview() ) return;
// Povoľ login
$uri = $_SERVER['REQUEST_URI'] ?? '';
if ( strpos($uri, '/wp-login.php') !== false || strpos($uri, '/wp-register.php') !== false ) return;
// Cieľ + ochrana proti slučke
$target = 'https://test.webyxl.com/under-construction';
$current = trailingslashit( home_url($uri) );
if ( strpos($current, trailingslashit($target)) === 0 ) return;
// Ak je to UC stránka (podľa slugu), neredirectuj
$uc = get_page_by_path('under-construction');
if ( $uc && is_page($uc->ID) ) return;
// Presmeruj
wp_safe_redirect($target, 302);
exit;
}
Toto riešenie nevyžaduje žiadny plugin, pre vypnutie „Under construction“ stačí zakomentovať túto časť kódu vo functions.ph, alebo vymazať keď ho už nepotrebuješ









