Vše o tvorbě webu a systému WordPress
3

Mohlo by vás zajímat

Search
Close this search box.

Vytvoření vlastní uživatelské role VIPclient – bez pluginu

Rychlý obsah

Mohlo by vás zajímat

Gutenberg galerie / image lightbox
Pokud patříte k těm uživatelům, kteří si oblíbili Gutenberg editor, který WordPress do svého systému...
Elementor widget Off Canvas: Jak automaticky zavřít menu s #kotvou
Nezavírá se automaticky widget Off -Canvas po kliknutí na menu? Řešení není až tak těžké, stačí vložit...
SVG a JFIF ve WordPressu – Jak rozšířit podporu souborů na webu?
Povolení nahrávání SVG a JFIF ve WordPress bez pluginu je jednoduché. Stačí přidat kod do functions.php.
Vytvoření vlastní uživatelské role VIPclient – bez pluginu
Pokud chcete přidat speciální roli "VIP klient", která má omezený přístup k webu (například může pouze...

Ve WordPressu jsou uživatelské role jednoduchý a efektivní způsob, jak určit, kdo má přístup k určitým funkcím nebo obsahu na vašem webu. Každá role má přesně definovaná práva – například administrátor má plný přístup, zatímco editor nebo autor má omezenější možnosti.

Pokud chcete přidat speciální roli „VIP klient“, která má omezený přístup k webu (například může pouze číst obsah), a to bez použití pluginu, stačí do vašeho webu vložit krátký kód.

Kód pro vytvoření VIP role:

Níže uvedený kód přidá novou roli s názvem „VIP Client“, která bude mít následující omezení:

  1. Uživatel může číst obsah.
  2. Uživatel nemůže upravovat ani mazat příspěvky.
  3. VIP klient neuvidí administrátorský panel ani administrační lištu.

Vložení kódu

Zkopírujte tento kód do souboru functions.php vaší šablony (doporučuji použití child theme):

// Přidání nové role VIPclient
function add_vipclient_role() {
    if (!get_role('VIPclient')) { // Kontrola, zda role již neexistuje
        add_role(
            'VIPclient',
            __( 'VIP Client' ),
            array(
                'read'         => true,  // Uživatel může číst obsah
                'edit_posts'   => false, // Uživatel nemůže upravovat příspěvky
                'delete_posts' => false, // Uživatel nemůže mazat příspěvky
            )
        );
    }
}
add_action('init', 'add_vipclient_role');

// Skrytí admin baru a zákaz vstupu do administrace pro VIP Client
function hide_admin_bar_for_vipclients() {
    // Získání aktuálního uživatele
    $user = wp_get_current_user();
    
    if ($user && isset($user->roles) && is_array($user->roles)) { // Ověření platnosti uživatele a jeho rolí
        // Kontrola, zda uživatel má roli 'VIPclient'
        if (in_array('VIPclient', $user->roles)) {
            // Skrytí admin baru pro uživatele s rolí VIPclient
            show_admin_bar(false);
        }
    }
}
add_action('after_setup_theme', 'hide_admin_bar_for_vipclients');

function disable_admin_access_for_vipclients() {
    // Získání aktuálního uživatele
    $user = wp_get_current_user();
    
    if ($user && isset($user->roles) && is_array($user->roles)) { // Ověření platnosti uživatele a jeho rolí
        // Kontrola, zda uživatel má roli 'VIPclient' a pokouší se dostat do administrace
        if (in_array('VIPclient', $user->roles) && is_admin()) {
            wp_redirect(home_url()); // Přesměrování na homepage
            exit;
        }
    }
}
add_action('admin_init', 'disable_admin_access_for_vipclients');

 

Jak tento kód funguje?

  1. Vytvoření role: Funkce add_role přidá novou roli VIPclient.
  2. Skrytí administrátorské lišty: VIP uživatel neuvidí horní admin bar na webu.
  3. Zákaz přístupu do administrace: Pokud se VIP uživatel pokusí dostat do administrace, bude automaticky přesměrován na úvodní stránku.

Jak VIP roli přiřadit?

  1. Přejděte do WordPress administrace → Uživatelé → Všichni uživatelé.
  2. Vytvořte nového uživatele nebo upravte existujícího.
  3. V poli Role vyberte VIP Client.

Pokud tedy potřebujete vytvořit speciální uživatelskou roli např. pro sekci určenou pouze přihlášeným uživatelům, je tento postup ideálním řešením, protože nabízí i některá řešení navíc – např. zneviditelnění adim baru či nemožnost vstupu do administrace webu.

Facebook
WhatsApp
Email
LinkedIn

Napsat komentář

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


Kategorie