Restreindre l'accès aux pages WordPress et créer un espace membres

Publié: 2016-02-10

Vous cherchez à publier des cours premium ou un produit informatif ? Vous voudrez peut-être restreindre le contenu de WordPress uniquement aux lecteurs/membres qui paient pour cela. Et masquez le contenu pour les visiteurs généraux. Avec WordPress, vous pouvez facilement protéger ces informations en utilisant les différents moyens de restriction de contenu que WordPress prend en charge dès la sortie de la boîte ou à l'aide de plugins.

Nous allons passer en revue ces différentes méthodes dans cet article. Nous discuterons :

  • La différence entre les pages protégées par mot de passe et les pages privées (et où les deux solutions échouent)
  • Un hack de 2 min pour créer un Espace Membres simple sur votre site WordPress (sans utiliser de plugin)
  • Faire apparaître les articles de votre base de connaissances dans votre espace membre (cette section est pour vous SI vous utilisez notre thème KnowAll ou notre solution Heroic Knowledge Base)
  • Plugins gratuits qui vous aideront à contrôler l'accès aux pages, publications et autres contenus de votre site

Commençons par comprendre la différence entre le contenu protégé par un mot de passe et le contenu privé.

Créez une base de connaissances privée - en toute simplicité !

Créez facilement une base de connaissances privée consultable avec la base de connaissances héroïque.

Obtenir le plug-in

Mot de passe protégé vs privé

Le moyen le plus simple de restreindre l'accès à une page spécifique (ou à un autre contenu de publication) est d'utiliser les différents paramètres de ' Visibilité ' que WordPress donne par défaut.

Vous pouvez trouver ces options dans le panneau de droite partout où vous ajoutez une nouvelle page ou un nouveau message :

Sous les paramètres de visibilité, il existe 3 options pour la visibilité d'une page (ou d'un article) :

  1. Public – Sous ce paramètre par défaut, le contenu est disponible pour tous les visiteurs du site
  2. Mot de passe protégé - Ici, seuls les lecteurs avec le mot de passe de la page (ou de la publication) peuvent déverrouiller l'accès au contenu
  3. Privé - Cette option accorde l'accès à des utilisateurs spécifiques en fonction de leur rôle

Les deuxième et troisième options de visibilité vous permettent de restreindre certains contenus.

Voyons comment :

1. Mot de passe protégeant les pages/messages

Il s'agit d'une option très simple qui vous permet de protéger par mot de passe des pages et des publications individuelles en attribuant simplement un mot de passe à cette page (ou publication).

Toute personne connaissant le(s) mot(s) de passe peut accéder au contenu.

Désormais, cette option fonctionne si vous avez une ou deux pages que vous souhaitez masquer au grand public. Cependant, vous pouvez imaginer que si vous avez des centaines d'articles à protéger, vous devrez maintenir et distribuer des centaines de mots de passe à tous les lecteurs éligibles.

Un autre problème avec cette méthode est que si un utilisateur trouve un tel contenu ou clique sur un lien vers une telle page protégée par un mot de passe, il verra un écran demandant un mot de passe, ainsi il saura qu'il y a du contenu protégé ou exclusif sur votre site . Donc, si vous ne voulez pas que les personnes qui n'y ont pas accès soient informées de ce contenu, cette méthode ne résoudra pas votre objectif.

La capture d'écran suivante montre un exemple de ressource protégée par un mot de passe :

De plus, la protection par mot de passe d'une page ne supprime pas cette page du site Web si vous n'êtes pas autorisé à la consulter. Au lieu de cela, le mot « Protégé : » est ajouté au début du titre, ce qui a son utilité, mais ce n'est pas idéal si vous ne voulez pas que les gens sachent qu'il y a du contenu privé sur le site Web.

articles-protégés

2) Marquer les pages/messages comme privés

Les pages privées ne nécessitent pas de mots de passe individuels pour être déverrouillées. L'accès à ces pages est accordé après vérification du rôle d'un utilisateur. En règle générale, seuls les administrateurs ou les éditeurs du site peuvent afficher ces pages privées.

Voici à quoi ressemble une page marquée comme privée :

L'autre grande différence entre les pages protégées par mot de passe et les pages privées est que si vous ne disposez pas des privilèges suffisants pour afficher une page, elle ne s'affichera nulle part sur le site Web.

Ceci est particulièrement utile si vous ne voulez pas que le visiteur moyen du site Web sache qu'il y a du contenu supplémentaire sur le site Web.

connecté-et-non
À gauche : les articles privés sont complètement masqués si vous n'êtes pas connecté ou si vous ne disposez pas des autorisations appropriées. À droite : les mêmes articles accessibles au public.

Il est clair:

Des deux options, seul le paramètre de visibilité privée a du sens si vous souhaitez restreindre beaucoup de contenu sur votre site.

Mais comme vous pouvez le constater, vous ne pouvez pas donner à chaque utilisateur un accès de niveau administrateur ou éditeur sur votre site. Ce qui signifie que vous devez introduire un autre niveau d'adhésion ( abonnés ). Et puis définissez le niveau de visibilité des pages privées sur celui des abonnés. De cette façon, tous vos abonnés pourront accéder à tout le contenu restreint.

Voici comment mettre en place ce système d'accès simple en créant un Espace Membres :

Créer un espace membre simple

Tout d'abord, créez un ensemble de pages qui ne seront accessibles qu'aux membres. Rendez toutes ces pages privées.

Maintenant, comme par défaut, seuls les utilisateurs disposant d'un accès de niveau éditeur ou administrateur peuvent accéder à ces pages, nous devons également rendre cette page visible pour l'utilisateur de niveau abonné.

Pour ce faire, vous devez ajouter une nouvelle fonction et action au fichier functions.php de votre thème.

Allez donc dans le fichier functions.php de votre thème et ajoutez-y le code suivant :

/**
* Add read_private_posts capability to subscriber
* Note this is saves capability to the database on admin_init, so consider doing this once on theme/plugin activation
*/
add_action ('admin_init','add_sub_caps');

function add_sub_caps() {
	global $wp_roles;
	$role = get_role('subscriber');
	$role->add_cap('read_private_posts');
}

Tout cela ne fait que modifier les capacités (autorisations) attribuées au rôle d'abonné pour inclure la possibilité de lire les publications privées. Notez qu'il s'agit d'une action unique, il est donc probablement préférable d'effectuer l'activation du thème/du plugin, ou de commenter le code une fois terminé. Voir les notes d'orientation du Codex sur add_cap. De plus, si vous souhaitez supprimer la fonctionnalité, vous devrez modifier le code pour utiliser la fonction remove_cap.

Configuration de la connexion à l'espace membres

Maintenant que votre espace membre est prêt, il est temps de faciliter la connexion des abonnés. Bien sûr, vos utilisateurs peuvent utiliser le lien votresiteweb.com/wp-login.php, mais vous conviendrez que ce n'est pas le cas. très convivial.

Pour configurer des boîtes de connexion conviviales, vous pouvez utiliser le plug-in de styler de page de connexion.

Le styler de page de connexion vous permet de concevoir des pages de connexion pour votre site WordPress. Vous pouvez simplement ajouter un élément appelé "Connexion" à votre menu principal et le lier à la page de connexion personnalisée conçue avec le styler de page de connexion.

Il existe également quelques autres plugins, mais la plupart d'entre eux n'ont pas été mis à jour depuis au moins un an, alors assurez-vous de vérifier qu'ils sont compatibles avant de les utiliser.

Une fois que vous avez mis votre contenu privé à la disposition de vos abonnés via un écran de connexion convivial, vous devriez avoir terminé.

Dans la section suivante, nous verrons comment vous pouvez faire apparaître vos articles de la base de connaissances (propulsé par la base de connaissances héroïque) dans votre espace membre.

Faire en sorte que la zone des membres inclue des articles de la base de connaissances héroïque

Si vous utilisez notre thème KnowAll ou notre plug-in Heroic Knowledge Base pour alimenter la base de connaissances de votre site Web, vous pouvez rendre votre contenu d'assistance accessible à vos abonnés directement dans l'espace membres !

Avant de poursuivre votre lecture, revenez à mon article précédent où j'ai montré comment utiliser notre plugin Heroic Knowledge Base avec WooCommerce. Ce sera un bon rappel car, dans cette procédure pas à pas, je vais faire référence à une partie du code et au groupe de champs personnalisés que nous avons créés dans cet article.

Commencez par installer le plugin Advanced Custom Fields.

Auparavant, nous avions créé un groupe de champs personnalisés appelé « Options du produit ».

Pour ce didacticiel, je renomme "Options de produit" en " Catégories de la base de connaissances ". La prochaine chose à faire est de modifier ce groupe pour inclure à la fois les pages et les publications. À l'heure actuelle, le champ personnalisé n'est configuré pour s'afficher que si le type de publication est un produit. Mais nous voulons maintenant pouvoir l'appliquer également aux pages.

Pour ce faire, accédez à Champs personnalisés dans l'administrateur et modifiez les options du produit.

Les champs personnalisés

Une fois configuré, créez les articles de la base de connaissances que vous avez l'intention de mettre uniquement à la disposition des membres payants. Définissez toutes ces pages sur privées afin qu'elles ne soient pas accessibles directement. Attribuez-les à une catégorie, dites « Catégorie de contenu restreint ». Plus tard, vous pourrez sélectionner cette catégorie pour l'afficher sur vos pages restreintes.

modification de page

La dernière étape consiste à modifier le fichier page.php pour afficher la catégorie sélectionnée.

Pour ce faire, nous allons revenir à la fonction que nous avons créée pour remplir un troisième onglet WooCommerce avec des articles de la base de connaissances dans mon article précédent. Vous pouvez le réutiliser ici. Faites simplement écho à la fonction dans page.php dans le thème enfant pour afficher la catégorie d'articles sélectionnée pour une page donnée.

Votre code page.php devrait ressembler à :

<?php get_header(); ?>

<div id="primary" class="content-area">
	<main id="main" class="site-main" role="main">
	
	    <?php 
			//loop start
			while ( have_posts() ) : the_post(); 
				//include the page content template. 
				get_template_part( 'template-parts/content', 'page' ); 

				//check and load the woo_knowledge_base_content
				if( function_exists( 'woo_knowledge_base_content' ) ){
					echo woo_knowledge_base_content();
				} else {
					echo 'function woo_knowledge_base_content() missing';
				}
				 
				//load comment template
				 if ( comments_open() || get_comments_number() ) { 
				 	comments_template(); 
				 } //loop end 
			 endwhile; 
		?>
 
	</main><!-- .site-main -->
		<?php get_sidebar( 'content-bottom' ); ?>
 
</div> <!-- .content-area -->
 
<?php get_sidebar(); ?>
<?php get_footer(); ?>

La seule ligne modifiée est

echo woo_knowledge_base_content();

Votre page devrait maintenant inclure la catégorie sélectionnée d'articles de la base de connaissances et ressemblerait à :

page finale

Avec cela, vous devriez avoir affiché avec succès les articles de votre base de connaissances dans l'espace membres de votre site Web.

Quelques plugins gratuits pour restreindre le contenu sur un site WordPress

Si vous ne voulez pas coder, envisagez d'installer l'un des plugins suivants. Tous peuvent vous aider à protéger votre contenu des utilisateurs non enregistrés.

Abonnements payants Pro

Avec Paid Memberships Pro, vous pouvez vous assurer que seuls vos membres ont accès aux différents composants de votre site Web, tels que les pages, les publications, les catégories, les forums, les téléchargements, le contenu d'assistance, etc.

s2Membre

s2Member est un autre plugin WordPress léger qui permet la restriction de contenu. En utilisant s2Member, vous pouvez limiter l'accès à vos publications, pages, catégories, balises, fichiers téléchargeables, forums et autres fichiers à vos seuls utilisateurs enregistrés.

Adhésion simple

Simple Membership est livré avec un tableau de bord convivial qui vous permet de protéger le contenu exclusif de vos membres comme les publications, les pages, les galeries de photos, les pièces jointes et plus encore des visiteurs généraux du site.

En plus de cela, vous pouvez également consulter WP-Members et Membership & Content Restriction - Paid Member Subscriptions. Même ces plugins vous aident à verrouiller le contenu premium permettant l'accès aux seuls utilisateurs enregistrés.

Envelopper le tout…

Selon vos objectifs, vous pourriez avoir besoin de quelque chose entre des capacités de restriction de contenu de base à avancées. Mais maintenant, vous savez comment mettre en place vous-même un espace membres simple. Vous connaissez même les meilleurs plugins parmi lesquels choisir.

Alors essayez le code ou les plugins et partagez vos expériences ci-dessous.