web-dev-qa-db-ja.com

変更の仕方 "コメントを投稿するにはログインしなければなりません。"

私のユーザーの何人かは私のサイトが彼らを混乱させると述べています。このような場合、私が未登録の訪問者がコメントを残したいのであればすぐにそうするために、実際にLogin/Registerへのリンクを作成したいと思います。

今のところ「コメントを投稿するにはログインしなければなりません」と表示されているだけです。ログインへのリンクなし。これを編集して「コメントを投稿するには登録またはログインする必要があります」に変更できます。それらへのリンクがありますか?

8
Aidan Knight

comment_form_defaultsフィルタを使って修正することができます。

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

wp_registration_url()wp_login_url() のコア関数を使います。

ps:comment_form_defaultsフィルターの info は、Codexにはないようです。

9
birgire