Cara mengubah "Anda harus masuk untuk mengirim komentar."

8

Beberapa pengguna saya telah menyebutkan bahwa situs saya membingungkan bagi mereka. Karena ini adalah kasusnya, saya ingin membuat tautan ke Login / Daftar untuk pengunjung yang tidak terdaftar untuk melakukannya jika mereka ingin memberikan komentar.

Saat ini hanya tertulis "Anda harus masuk untuk mengirim komentar." tanpa tautan ke Login. Di mana saya dapat mengedit ini dan mengubahnya ke "Anda harus Mendaftar atau Masuk untuk mengirim komentar." dengan tautan ke mereka?

Aidan Knight
sumber

Jawaban:

9

Anda dapat mencoba memodifikasinya dengan comment_form_defaultsfilter:

/**
 * 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;
});

tempat kami menggunakan wp_registration_url()dan wp_login_url()fungsi inti.

ps: info pada comment_form_defaultsfilter tampaknya hilang dari Codex.

birgire
sumber
Terima kasih atas bantuannya. Maaf bodoh, di mana saya meletakkan ini, functions.php?
Aidan Knight
Bagaimana dengan bagian kode wp_login_url (get_permalink ())) ini;
Brad Dalton
ya, itu seharusnya bekerja juga. Saya hanya ingin meniru bagaimana hal itu dilakukan pada intinya. @BradDalton
birgire
Tentu tetapi mengapa mengembalikan apply_filters ketika memodifikasi output default untuk teks dalam tema anak?
Brad Dalton
Saya kira jika pengguna menggunakan filter itu untuk mengubah permalink (seperti menambahkan string kueri tambahan), apakah akan konsisten untuk menerapkannya di sini juga?
birgire