“Conocimiento software>WordPress

¿Ocultar algún contenido hasta que los comentarios del usuario en WordPress?

2016/6/15
No hay un solo complemento de WordPress o funcionalidad incorporada para ocultar directamente el contenido hasta que un usuario comenta. Necesitará una solución personalizada que involucre una combinación de PHP y potencialmente JavaScript. El mejor enfoque depende de cuán sofisticado desee que sea la funcionalidad.

Aquí hay algunos métodos, que van desde más simples hasta el más complejo:

Método 1:enfoque simple (usando PHP y una cookie) Este es el más fácil, pero menos preciso. Oculta contenido hasta que se envíe * cualquier * comentario, no necesariamente un comentario del usuario específico que ve la página.

1. Código PHP (en el archivo `functions.php` de su tema o un complemento personalizado):

`` `PHP

add_action ('init', 'set_comment_cookie');

función set_comment_cookie () {

if (isset ($ _post ['comentario'])) {// verifique si se envía un comentario

setcookie ('comentado', 'verdadero', tiempo () + 31536000, '/'); // Establecer una cookie que dure un año

}

}

función show_content_after_comment () {

if (isset ($ _cookie ['comentado']) &&$ _cookie ['comentado'] =='verdadero') {

echo '

Este contenido es visible después de enviar un comentario.
';

} demás {

echo '

Por favor deje un comentario para ver este contenido.
';

}

}

add_shortcode ('Hidden_content', 'show_content_after_comment');

?>

`` `` ``

2. Uso: En el contenido de su página, use el código corto:`[Hidden_Content]`

Método 2:Enfoque más avanzado (usando PHP, JavaScript y Ajax) Este método requiere más codificación, pero ofrece una mejor experiencia de usuario, ya que no requiere una recarga de páginas.

1. Código PHP (en el `functions.php` de su tema o un complemento):

`` `PHP

add_action ('wp_ajax_nopriv_check_comment', 'check_comment_ajax'); // para usuarios no registrados

add_action ('wp_ajax_check_comment', 'check_comment_ajax'); // para usuarios iniciados

función check_comment_ajax () {

// Compruebe si el usuario ha comentado (requiere una consulta de base de datos o un método más sofisticado para rastrear los comentarios de los usuarios. Ver más abajo).

$ user_id =get_current_user_id (); // Obtener ID de usuario actual

$ has_commented =check_if_user_commented ($ user_id); // Función para verificar si el usuario comentó (explicado a continuación).

if ($ has_commented) {

wp_send_json_success (array ('show' => true));

} demás {

wp_send_json_success (array ('show' => false));

}

wp_die ();

}

// Función para verificar si un usuario ha comentado (reemplace con su lógica real).

función check_if_user_commented ($ user_id) {

Global $ WPDB;

$ count =$ wpdb-> get_var ($ wpdb-> preparar ("select count (*) desde $ wpdb-> comentarios donde user_id =%d", $ user_id));

devolver $ count> 0;

}

?>

`` `` ``

2. Código JavaScript (en el `Header.php` de su tema o un archivo `js` separado en su tema):

`` `JavaScript

jQuery (documento) .Ready (function ($) {

var hiddencontent =$ ('#Hidden-Content'); // Reemplazar #Hidden-Content con la ID de su contenido oculto Div

$ .AJAX ({

URL:Ajaxurl,

Tipo:'Post',

datos:{

Acción:'check_comment',

},

éxito:function (respuesta) {

if (respuesta.show) {

HidDencontent.show ();

}

}

});

});

`` `` ``

3. Código HTML (en el contenido de su página):

`` `HTML

`` `` ``

Consideraciones importantes para el método 2:

* Consulta de la base de datos: La función `check_if_user_commented` utiliza una consulta de base de datos simple para verificar si el usuario tiene algún comentario. Es probable que deba refinar esto para tener en cuenta las aprobaciones de comentarios y otros factores.

* Ajax URL: Asegúrese de que 'Ajaxurl` se define correctamente en su tema (generalmente manejado automáticamente por WordPress).

* Seguridad: Siempre desinfecte y valida la entrada del usuario para evitar vulnerabilidades de seguridad.

* Experiencia de usuario: Considere proporcionar comentarios claros al usuario mientras espera la solicitud de AJAX.

Método 3:Desarrollo de complementos Para una solución robusta y mantenible, considere crear un complemento de WordPress personalizado. Esto permitiría características más avanzadas, una mejor organización de código y actualizaciones más fáciles.

Recuerde reemplazar las ID de marcador de posición y ajustar el código para que coincida con su tema y necesidades específicas. El segundo método proporciona una experiencia de usuario mucho más suave, pero requiere una experiencia de codificación significativamente mayor. Elija el método que mejor se ajuste a sus habilidades y requisitos. Si no se siente cómodo con PHP y JavaScript, considere contratar a un desarrollador.

WordPress
¿Cómo enviar un mapa del sitio de WordPress a Baidu?
¿Cómo instalar WordPress en un subdirectorio?
¿Cómo se instala WordPress en un entorno cpanel?
¿Cómo utilizar el complemento central de SiteGround con la configuración de WordPress?
¿Cómo encuentras tu URL de inicio de sesión de WordPress?
¿WordPress es un buen lugar de blog?
¿Cómo recuperas tu página de inicio original de Gmail?
¿Cómo crear un diseño de varias columnas en un sitio de WordPress?
Conocimiento de la computadora © http://www.ordenador.online