Skrytí části obsahu pro nepřihlášené návštěvníky - Affinite.io CZ

Jedním z často řešených problémů ve WordPressu, je zobrazení, nebo skrytí části obsahu pro přihlášené, či nepřihlášené uživatele. Doporučují se různé pluginy, jenž jsou nezřídka zbytečně robustní a jejich použití zatěžuje WordPress dalším zbytečným kódem.

Netvrdím, že nemají své místo, pokud potřebujete mít například uživatelský účet na frontendu, ale co když nic takového nepotřebujete.

Stačí vám jen skrýt reklamní prvek v článku, aby neobtěžoval zaregistrované čtenáře? Řada těchto pluginů neumí skrývat jen část obsahu.

Naštěstí má WordPress k dispozici shortkódy a dnes vám ukáži, jak jeden takový vytvořit a skrýt s ním část obsahu pro přihlášené uživatele.

Shortcode

Samotnou funkci pro shortcode musíme nejprve zaregistrovat pomocí add_shortcode

add_shortcode('hide-content', 'hide_content' );

Dalším krokem je samotná funkce shortcodu:

function hide_content($atts, $content){

    $logged = true;
    if(!empty($atts['logged'])){
        if($atts['logged'] == 'no'){
           $logged = false;
        }
    }
    $show = true;
    if(!empty($atts['show'])){
        if($atts['show'] == 'no'){
           $show = false;
        }
    }

    //Content for logged user
    if($logged){

        if(is_user_logged_in() && $show === true){

            return do_shortcode($content);

        }

    }else{
    //Content for non logged user

        if(!is_user_logged_in() && $show === true){

            return do_shortcode($content);

        }

    }

  }

Vysvětlení funkce:
V shortcodu budeme používat dva atributy, „logged“ pro určení, zda se jedná o prihlášeného uživatele a atribut „show“, kterým určíme, zda se má obsah zobrazit, či ne.

Nyní máme k dispozici shortcode, do kterého „obalíme“ obsah, který chceme skrýt pro přihlášeného uživatele:

[hide-content logged="yes" show="no"]

Obsah vidíte, protože jste nepřihlášení!

[/hide-content]

A to je vše. Pro nepřihlášené skryjete obsah analogicky.

Dovedu si představit model – zaregistrujte se a zmizí všechny otravné reklamy 🙂

Soutěž o dva lístky na WordCamp Praha 2015
Soutěž o dva lístky na WordCamp Praha 2015
18 Úno, 2015
Zaokrouhlení celkové ceny objednávky ve WooCommerce
Zaokrouhlení celkové ceny objednávky ve WooCommerce
26 Bře, 2015

Komentáře nejsou povoleny.

Looking for something?