Cómo cambiar el mensaje "Debes estar registrado para publicar un comentario"

7 dic 2014, 13:09:23
Vistas: 16.1K
Votos: 9

Algunos de mis usuarios han mencionado que mi sitio les resulta confuso. Como este es el caso, me gustaría agregar enlaces directos para Iniciar sesión/Registrarse para que los visitantes no registrados puedan hacerlo rápidamente si desean dejar un comentario.

Actualmente solo aparece "Debes estar registrado para publicar un comentario" sin ningún enlace para Iniciar sesión. ¿Dónde puedo editar esto y cambiarlo por "Debes Registrarte o Iniciar sesión para publicar un comentario" con los enlaces correspondientes?

0
Todas las respuestas a la pregunta 1
9
11

Puedes intentar modificarlo con el filtro comment_form_defaults:

/**
 * Modificar el texto "must_log_in" del formulario de comentarios.
 *
 * @see http://wordpress.stackexchange.com/a/170492/26350
 */
add_filter( 'comment_form_defaults', function( $fields ) {
    $fields['must_log_in'] = sprintf( 
        __( '<p class="must-log-in">
                 Debes <a href="%s">Registrarte</a> o 
                 <a href="%s">Iniciar sesión</a> para publicar un comentario.</p>' 
        ),
        wp_registration_url(),
        wp_login_url( apply_filters( 'the_permalink', get_permalink() ) )   
    );
    return $fields;
});

donde utilizamos las funciones principales wp_registration_url() y wp_login_url().

Nota: la información sobre el filtro comment_form_defaults parece faltar en el Codex.

7 dic 2014 13:59:26
Comentarios

Gracias por la ayuda. Perdón por ser tonto, pero ¿dónde pongo esto, en functions.php?

Aidan Knight Aidan Knight
7 dic 2014 15:12:32

¿Qué hay de esta parte del código wp_login_url( get_permalink() ) );

Brad Dalton Brad Dalton
7 feb 2015 11:22:59

Sí, eso también debería funcionar. Solo quería emular cómo se hace en el núcleo. @BradDalton

birgire birgire
7 feb 2015 15:36:18

Claro, pero ¿por qué devolver apply_filters al modificar la salida predeterminada del texto en un tema hijo?

Brad Dalton Brad Dalton
7 feb 2015 15:37:22

Supongo que si el usuario estaba usando ese filtro para modificar los enlaces permanentes (como agregar cadenas de consulta adicionales), sería consistente aplicarlo aquí también?

birgire birgire
7 feb 2015 15:42:31

Entonces, ¿no puedes usar ese filtro si no se devuelve en tu función de filtro personalizada?

Brad Dalton Brad Dalton
7 feb 2015 15:44:08

no necesitas agregar tu propio filtro the_permalink, porque esta configuración simplemente devolverá el valor de get_permalink().

birgire birgire
7 feb 2015 15:48:56

Aquí está el enlace al codex para comment_form_defaults https://developer.wordpress.org/reference/hooks/comment_form_defaults/

theKing theKing
28 dic 2021 14:43:23

Gracias por la actualización @theKing

birgire birgire
28 dic 2021 15:09:06
Mostrar los 4 comentarios restantes