Vous n'avez pas besoin de l'éditeur de blocs pour utiliser l'extension. Chaque bloc a un shortcode jumeau, et les règles d'accès sont appliquées sur le serveur, avant l'envoi de la page.
Des shortcodes partout
Partout où WordPress exécute des shortcodes, ceux de memberarea fonctionnent :
l'éditeur classique, un widget Shortcode dans Elementor, un module Code ou
Texte dans Divi, un module HTML dans Beaver Builder, et les fichiers de modèle
via do_shortcode().
Il y en a huit, un par bloc : [memberarea_checkout],
[memberarea_product], [memberarea_cart], [memberarea_badge],
[memberarea_login], [memberarea_my_courses], [memberarea_progress] et
[memberarea_course_catalogue]. Chaque attribut, avec ses valeurs et ses
valeurs par défaut, est listé dans la
Référence des blocs et des shortcodes.
product,badgeetcourseprennent l'identifiant de l'élément, que vous copiez depuis votre memberarea.- L'attribut
classajoute votre propre classe à l'élément englobant, ce qui permet d'accorder un bloc au style d'un constructeur. - Placez chaque shortcode sur sa propre ligne. Seul le bouton de paiement fonctionne aussi au milieu d'une phrase.

Protéger une page construite avec un constructeur
Le panneau qui définit une règle se trouve dans l'éditeur de blocs, mais la règle elle-même est stockée sur la page et vérifiée à chaque requête. Vous pouvez donc la définir une fois dans l'éditeur de blocs, puis continuer à éditer la page dans votre constructeur : la protection reste.
Ce qui arrive à un visiteur sans accès dépend de la réponse choisie :
- Sont envoyés vers la connexion intervient avant le rendu de la page, donc fonctionne quel que soit l'outil qui dessine la page. Cela s'applique aux visiteurs non connectés, une fois la connexion des membres configurée. Un membre connecté sans le cours reçoit le court message à la place.
- Sont envoyés vers une autre page intervient aussi avant le rendu de la page, pour toute personne que la règle refuse. Quand la cible n'est pas une page valide de ce site, ou quand votre memberarea ne peut pas être interrogé à ce moment, le visiteur reçoit le court message à la place.
- Voient un court message à la place remplace le contenu de la page par le
message. Il est appliqué via le filtre de contenu standard de WordPress
(
the_content), assez tard pour remplacer ce qu'un constructeur y a mis.
Un constructeur qui fait passer la page par ce filtre de contenu est couvert par les trois réponses. Un constructeur ou un modèle de thème qui dessine le contenu à sa manière, sans ce filtre, n'est pas couvert par le message, et le visiteur voit alors la page.
Testez chaque page protégée faite avec un constructeur une fois dans une fenêtre privée, et une fois encore connecté en tant que membre qui ne possède pas le cours. Si le contenu s'affiche encore, ce constructeur contourne le filtre de contenu. Passez la page sur Sont envoyés vers une autre page, et gardez à l'esprit qu'un membre dont l'accès ne peut pas être vérifié à ce moment reçoit le message au lieu de la redirection, et qu'un tel constructeur affiche alors la page.
Ce qui est toujours couvert
Quel que soit l'outil qui a construit la page, l'extension protège aussi les
endroits par lesquels le contenu peut fuiter : extraits, listes d'archives et
de recherche, boucles de requête, commentaires, plan du site WordPress et API
REST. Une page protégée ne peut pas non plus être lue via /wp-json.
Ce qui nécessite des blocs
Deux choses n'ont pas de shortcode, parce que ce sont des propriétés d'un bloc plutôt que quelque chose que l'on place :
- La visibilité au niveau du bloc, qui montre un bloc isolé uniquement aux membres connectés, uniquement aux visiteurs non connectés, ou uniquement aux détenteurs d'un cours, d'un groupe ou d'un produit.
- La définition d'une règle de page, comme décrit ci-dessus.
Si vous travaillez la plupart du temps dans un constructeur, le plus pratique est de passer la page dans l'éditeur de blocs une minute, de définir la règle, puis de revenir.
Cache
Rien ne change pour les constructeurs : les pages peuvent être mises en cache
pour les visiteurs anonymes, et les réponses pour les membres connectés sont
marquées comme à ne pas mettre en cache. Si votre constructeur fournit son
propre cache, vérifiez qu'il respecte DONOTCACHEPAGE avant de compter sur une
page protégée.
La mise en cache des éléments d'Elementor (Element Caching) peut aussi mettre en cache des widgets isolés. Pour tout widget qui contient un shortcode memberarea, laissez les « Cache Settings » de l'onglet Avancé sur leur valeur par défaut, et ne les réglez jamais sur « Active ». Un cache d'élément actif stocke la sortie une seule fois et montre le nom ou les cours d'un membre à tout le monde.