| |

Members only downloads

Soms wil je dat bepaalde bestanden alleen te downloaden zijn door abonnees, ofwel  ingelogde WordPress users. Er zijn verschillende plugins te vinden waarmee je bepaalde content op een pagina, bijvoorbeeld met behulp van shortcodes kunt tonen voor alleen ingelogde users. Het kan ook op een hele simpele manier bijvoorbeeld met volgend stukje code:

/*Guest and User shortcodes*/
add_shortcode('USER','show_user_content');
function show_user_content($atts,$content = null){
    global $post;
    if (!is_user_logged_in()){
        return '' ;
    }
    return $content;
}

add_shortcode('GUEST','show_guest_content');
function show_guest_content($atts,$content){
    if (!is_user_logged_in()){
        return $content;
    }
        return '';
}

Voeg bovenstaande code toe aan de functions.php van je actieve thema en je kunt in je pagina’s en posts gebruik maken van de volgende tags:

[USER]Ingelogde users.[/USER] en [GUEST]Niet-ingelogde gasten.[/GUEST]

Alle tekst die tussen de USER tags staat, is alleen zichtbaar voor ingelogde users. Alle tekst tussen de GUEST tags is alleen zichtbaar voor niet-ingelogde bezoekers.

Je zou een link naar een bestand tussen deze tags kunnen zetten, zodat de  downloadlink alleen zichtbaar is voor ingelogde users, maar wat als een niet-ingelogde user deze link raadt en direct in zijn browserbalk intypt?
Alle teksten tussen de USER tags zijn alleen zichtbaar voor ingelogde users, dus links naar bestanden ook, de bestanden zelf echter niet. Om deze bestanden te beschermen tegen downloaden zijn ook weer plugins te vinden, maar dit zijn veelal zware plugins met talloze opties en mogelijkheden. Veel meer dan vaak nodig is.

Wil je op een simpele manier zorgen dat alleen ingelogde users bepaalde bestanden kunnen downloaden? Maak dan op je ftp-server in de map ../wp-content/uploads/ een nieuwe map aan genaamd “members” en zet daarin de bestanden die je wilt beschermen. Maak vervolgens in deze map een .htaccess bestand en plaats daarin de volgende code:

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(www\.)?label20\.nl/ [NC]
RewriteCond %{REQUEST_URI} !hotlink\.(gif|png|jpg|doc|xls|pdf|html|htm|xlsx|docx|mp4|mov|zip) [NC]
RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in.*$ [NC]
RewriteRule .*\.(gif|png|jpg|doc|xls|pdf|html|htm|xlsx|docx|mp4|mov|zip)$ https://label20.nl/ [NC]

Deze code controleert of een gebruiker ingelogd is en alleen dan kan hij het bestand downloaden. Vervang in bovenstaand voorbeeld label20.nl door je eigen domeinnaam en zorg dat de extensie (gif, jpg etc) van je bestand in de lijst staat.

Zet je een link naar een bestand in je ../wp-content/members/ map tussen de USER tags, dan is zowel de link naar het bestand alleen zichtbaar voor ingelogde users en is ook het bestand zelf alleen te downloaden door ingelogde users.

Bouw een mailinglist

Interessante en waardevolle content ‘gratis’ weg te geven in ruil voor een registratie op je website kan een goede manier zijn om een mailinglist mee op te bouwen. Door je mailinglist te koppelen aan je WordPress website kun je bij het registreren van een nieuwe gebruiker direct het emailadres toe laten voegen aan je mailinglist. In ruil voor content bouw je dan dus een waardevolle mailinglist. Voor beide partijen een win-win situatie. Zorg er natuurlijk altijd voor dat de content echt de moeite waard is. Toegevoegde waarde leveren moet altijd het sleutelwoord zijn.