web-dev-qa-db-ja.com

「ログイン」リンクを変更する(コメントを投稿するにはログインが必要です)

「ログイン」のリンクを、wp login urlではなく、ユーザーログインURLに変更する必要があります。 /wp-includes/comment-template.phpをチェックしましたが、2217行目でそれがわかりました。

    /** This filter is documented in wp-includes/link-template.php */
    'must_log_in'          => '<p class="must-log-in">' . sprintf(
                                  /* translators: %s: login URL */
                                  __( 'You must be <a href="%s">logged in</a> to post a comment.' ),
                                  wp_login_url( apply_filters( 'the_permalink', get_permalink( $post_id ) ) )
                              ) . '</p>',

これが「ログイン」リンクをカスタマイズするのに適した場所である場合、新しいログインページのURLの例のコードはどのようにする必要がありますか:yourdomain.com/my-account ???

2
Hazem Motahar

このテンプレートでのみログインリンクを変更するには、wp_login_url()関数呼び出しを自分のログインリンクに置き換えます。

'must_log_in' => '<p class="must-log-in">' . sprintf(
    /* translators: %s: login URL */
    __( 'You must be <a href="%s">logged in</a> to post a comment.' ),
    "https://yourdomain.com/my-account"
    ) . '</p>',

一般的にログインが必要な場合にユーザーを別のURLにリダイレクトしたい場合は、フィルタlogin_urlを使用することをお勧めします。

function wpse_258398_login_url ( $login_url, $redirect, $force_reauth ) {
    return "https://yourdomain.com/my-account";
}
add_filter( 'login_url', 'wpse_258398_login_url', 10, 3);

ただし、これはログインへのすべてのリダイレクトに影響します。 adminバックエンドにログインするようにリダイレクトされているときでも。

0
JHoffmann