Cómo cambiar "Debe iniciar sesión para publicar un comentario".

8

Algunos de mis usuarios han mencionado que mi sitio es confuso para ellos. Como este es el caso, me gustaría hacer enlaces a Iniciar sesión / Registrarse para que mis visitantes no registrados lo hagan rápidamente si desean dejar un comentario.

En este momento solo dice "Debes iniciar sesión para publicar un comentario". sin enlace para iniciar sesión. ¿Dónde puedo editar esto y cambiarlo a "Debe registrarse o iniciar sesión para publicar un comentario"? con enlaces a ellos?

Aidan Knight
fuente

Respuestas:

9

Puedes intentar modificarlo con el comment_form_defaultsfiltro:

/**
 * Modify the "must_log_in" string of the comment form.
 *
 * @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">
                 You must <a href="%s">Register</a> or 
                 <a href="%s">Login</a> to post a comment.</p>' 
        ),
        wp_registration_url(),
        wp_login_url( apply_filters( 'the_permalink', get_permalink() ) )   
    );
    return $fields;
});

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

ps: la información sobre el comment_form_defaultsfiltro parece faltar en el Codex.

Birgire
fuente
Gracias por la ayuda. Lamento ser estúpido, pero ¿dónde pongo esto, functions.php?
Aidan Knight
¿Qué tal esta parte del código wp_login_url (get_permalink ()));
Brad Dalton
Sí, eso también debería funcionar. Solo quería emular cómo se hace en el núcleo. @BradDalton
birgire
Claro, pero ¿por qué devolver apply_filters al modificar la salida predeterminada para el texto en un tema secundario?
Brad Dalton
Supongo que si el usuario usara ese filtro para modificar los enlaces permanentes (como agregar cadenas de consulta adicionales), ¿sería coherente aplicarlo aquí también?
Birgire