Menú adicional

¡Consiga MemberPress hoy mismo! ¡Empieza a cobrar por los contenidos que creas! Obtenga MemberPress ahora
  1. Inicio
  2. Base de conocimientos
  3. Temas avanzados
  4. Soluciones a medida
  5. ¿Cómo proteger los campos ACF con MemberPress?

¿Cómo proteger los campos ACF con MemberPress?

Campos personalizados avanzados (ACF) es un gran plugin para añadir cualquier contenido a su sitio, o incluso para construir un sitio web completo. Cuando ACF se utiliza con MemberPress, puede encontrar dificultades para aplicar la protección basada en membresía a sus campos ACF.

Este documento le mostrará cómo superarlo y construir con éxito su sitio web con ACF y MemberPress.

¿Por qué mis campos ACF no están protegidos desde el principio?

La protección de contenidos con MemberPress se realiza mediante Añadir reglas MemberPress. Aquí, es importante mencionar que estas reglas sólo protegen el contenido que se emite a través de WordPress. el_contenido() función. Esto se refiere al contenido de su mensaje. Cualquier contenido que se muestre fuera de esta función permanecerá desprotegido.

El plugin ACF utiliza su propio get_field() para mostrar los campos ACF en sus entradas. Esto evita que el código de la regla MemberPress se ejecute en este caso. Por consiguiente, aunque el contenido de su entrada estará protegido y disponible sólo para sus miembros, los campos ACF de la misma entrada seguirán siendo visibles para todo el mundo. 

Protección de los campos ACF

Hay dos maneras de resolver esto y evitar que usuarios no autorizados accedan a sus campos ACF. La primera solución sería proteger entradas enteras y redirigir a los usuarios a una página específica.

Otra solución es proteger cada campo ACF individualmente mediante un código personalizado.

Utilizar redireccionamiento no autorizado

Como se ha mencionado, la alternativa más sencilla en este caso sería utilizar las reglas MemberPress en combinación con la redirección no autorizada MemberPress. 

Para ello, primero debe activar la opción de redirección no autorizada en la configuración de tu MemberPress. Con esta opción activada, los usuarios no autorizados serán redirigidos automáticamente fuera de los puestos protegidos. De este modo, evitará que cualquiera de ellos acceda a sus campos ACF desprotegidos negándoles el acceso a todo el puesto.

Aquí, por favor tenga en cuenta que cuando se activa, la redirección se aplicará a todo su contenido protegido. Si aún desea mostrar el mensaje de no autorizado en algunos puestos protegidos, puede añadir exclusiones de redireccionamiento no autorizadas utilizando un fragmento de código personalizado.

Nota: Si utiliza campos ACF con sus tipos de entrada personalizados, debe utilizar el campo Tipo de regla URI personalizada para proteger estos puestos.

Proteger campos ACF individuales

Dependiendo de sus objetivos, proteger todo el puesto podría no resolver el problema en su caso. En este caso, puede intentar utilizar nuestro mepr-active para proteger campos ACF individuales. Esta capacidad le permitirá comprobar si el usuario tiene acceso en función de las suscripciones de afiliación activas del usuario. El campo ACF protegido sólo se mostrará a los usuarios autorizados. 

A continuación encontrará un ejemplo de código para mostrar un campo ACF protegido por una regla MemberPress. La regla MemberPress, en este ejemplo, tiene un ID de 123 y se aplica mediante la función mepr-active capacidad:

<?php
if(current_user_can('mepr-active', 'rules:123')) {
     get_field('acf_field_here');
}

Para utilizar este código en sus campos ACF, deberá sustituya el ID de 123 por el ID de la regla que desea aplicar. Puedes encontrar los IDs de todas tus reglas en Dashboard > MemberPress > Rules.

¿Le ha resultado útil este artículo?

Artículos relacionados

chica del ordenador

¡Consiga MemberPress hoy mismo!

Empieza a cobrar por los contenidos que creas.