Come modificare "Devi essere loggato per pubblicare un commento."
Alcuni dei miei utenti hanno segnalato che il mio sito risulta confuso. Vorrei quindi aggiungere link diretti a Login/Registrazione per i visitatori non registrati che desiderano lasciare un commento.
Attualmente viene mostrato solo "Devi essere loggato per pubblicare un commento." senza alcun link al Login. Dove posso modificare questo testo per cambiarlo in "Devi Registrarti o effettuare il Login per pubblicare un commento." con i relativi link?

Puoi provare a modificarlo con il filtro comment_form_defaults
:
/**
* Modifica la stringa "must_log_in" del modulo dei commenti.
*
* @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">
Devi <a href="%s">Registrarti</a> o
<a href="%s">Accedere</a> per pubblicare un commento.</p>'
),
wp_registration_url(),
wp_login_url( apply_filters( 'the_permalink', get_permalink() ) )
);
return $fields;
});
dove utilizziamo le funzioni core wp_registration_url()
e wp_login_url()
.
ps: le informazioni sul filtro comment_form_defaults
sembrano mancare dal Codex.

Grazie per l'aiuto. Scusa se sono stupido ma dove devo metterlo, functions.php?

sì, dovrebbe funzionare anche quello. Volevo solo emulare come viene fatto nel core. @BradDalton

Certo, ma perché restituire apply_filters quando si modifica l'output predefinito per il testo in un child theme?

Immagino che se l'utente stesse usando quel filtro per modificare i permalink (come aggiungere query string extra), sarebbe coerente applicarlo anche qui?

Quindi non puoi usare quel filtro se non viene restituito nella tua funzione di filtro personalizzata?

non è necessario aggiungere il proprio filtro the_permalink
, perché questa configurazione restituirà semplicemente il valore di get_permalink()
.

Ecco il link al codex per comment_form_defaults
https://developer.wordpress.org/reference/hooks/comment_form_defaults/
