WordPress Snippety vol. 1

Vytvořeno: 
24. 8. 2024
25. 8. 2024
Kategorie: 
Autor: 
Jacob Korec
Snippets pomáhají přizpůsobovat a ohýbat WordPress námi požadované podobě. Nahrávám prvních pár kousků kódu s užitečnými funkcemi, které upraví některé vlastnosti WordPressu, ale i přidá na bezpečnosti.

Užitečné funkce

1. Zrušení automatických instalací nových šablon

define('CORE_UPGRADE_SKIP_NEW_BUNDLED', true);
  • Výchozí šablony a pluginy: Když aktualizujete WordPress na novou verzi, obvykle se s aktualizací mohou nainstalovat i nové výchozí šablony (např. Twenty Twenty-One, Twenty Twenty-Two atd.) nebo některé základní pluginy.
  • CORE_UPGRADE_SKIP_NEW_BUNDLED: Tato konstanta, když je nastavena na true, způsobí, že tyto nové šablony a pluginy se při aktualizaci nebudou automaticky instalovat.

Tento kód je užitečný zejména pro uživatele, kteří chtějí udržet svůj web čistý od zbytečných šablon a pluginů, které neplánují používat. Pokud tedy nechcete, aby vám WordPress automaticky přidával nové šablony nebo pluginy při aktualizaci, tento snippet vám to zajistí.

2. Odebrání nebo omezení počtu verzí příspěvku

WordPress standardně uchovává více verzí příspěvků, což může vést k nadměrnému množství dat v databázi. Tento snippet umožní omezit nebo úplně zakázat uchovávání verzí příspěvků.

// Zakázání verzí příspěvků
define('WP_POST_REVISIONS', false);

// Nebo omezení počtu verzí příspěvků (např. 5)
define('WP_POST_REVISIONS', 5);

3. Přidání vlastního loga na přihlašovací stránku

Tento snippet umožní přidat vlastní logo na přihlašovací stránku WordPressu.

function custom_login_logo() { ?>
    <style type="text/css">
        #login h1 a {
            background-image: url('<?php echo get_stylesheet_directory_uri(); ?>/images/custom-logo.png');
            background-size: contain;
            width: 100%;
        }
    </style>
<?php }
add_action('login_enqueue_scripts', 'custom_login_logo');

4. Omezení počtu slov v úvodníku (excerpt)

Tento snippet změní délku úvodníku (excerpt) na určitý počet slov. Neodstraňuje žádná slova z původního obsahu příspěvků, pouze upravuje počet slov, která se zobrazí v automaticky generovaném úvodníku. To je užitečné, pokud chcete mít konzistentní a kontrolovanou délku úvodníků napříč vaším webem.

function custom_excerpt_length($length) {
    return 20; // Nastavte požadovaný počet slov
}
add_filter('excerpt_length', 'custom_excerpt_length');

Bezpečnost

1. Zakázání XML-RPC pro zvýšení bezpečnosti

XML-RPC je funkce, která umožňuje vzdálený přístup k WordPressu, ale je také častým cílem útoků. Tento snippet zakáže XML-RPC a zvýší tak bezpečnost vašeho webu.

// Zakázání XML-RPC
add_filter('xmlrpc_enabled', '__return_false');

2. Zakázání editoru šablon a pluginů

Tento snippet zakáže možnost upravovat soubory šablon a pluginů přímo z WordPress administrace, což zvýší mimo jiné i bezpečnost šablony

define('DISALLOW_FILE_EDIT', true);

3. Odebrání verze WordPressu z HTML kódu

Odebrání verze WordPressu může pomoci minimalizovat riziko, že hackeři zjistí, jakou verzi používáte.

remove_action('wp_head', 'wp_generator');

4. Přesměrování neaktivních uživatelů

Tento snippet automaticky odhlásí uživatele po určité době neaktivity.

function auto_logout_inactive_users() {
    $timeout = 1800; // Doba neaktivity v sekundách (30 minut)
    if (is_user_logged_in()) {
        $last_activity = isset($_SESSION['last_activity']) ? $_SESSION['last_activity'] : false;
        if ($last_activity && (time() - $last_activity) > $timeout) {
            wp_logout();
            wp_redirect(home_url());
            exit;
        }
        $_SESSION['last_activity'] = time();
    }
}
add_action('init', 'auto_logout_inactive_users');

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *