これはおそらく非常に簡単ですが、テーマを変更するために私のテーマのfunctions.php
ファイルにフックを追加したいと思います。 Register ログインページ(wp-login.php
)にリンクします。
どうすればいいの?
白ウサギをフォローしましょう。
http://core.trac.wordpress.org/browser/tags/3.3.1/wp-login.php#L414
...変更することはできません、それはハードコーディングされています。しかしクリックするとここまで来ます:
http://core.trac.wordpress.org/browser/tags/3.3.1/wp-login.php#L481
...これはマルチサイト用のwp_signup_location
フィルタを持っています、あなたのサイトの!is_multisite()
が起動しない場合には。あなたがマルチサイトなら - ここでやめてください。
add_filter( 'wp_signup_location', 'wpse_46848_Hijack_the_back' );
function wpse_46848_Hijack_the_back( $location ) {
return 'my-registration-page-is-better.php';
}
マルチサイトではない、え?
AFTER登録はregistration_redirect
が行われますが、登録ページを表示する前に呼び出されます。元のページから何かを表示する前に、汚い遊びをしてそれにフックしてexit()
を使って wp_redirect
に分岐することができます。
add_action( 'registration_redirect', 'wpse_46848_Hijack_the_back' );
function wpse_46848_Hijack_the_back( $redirect_to ) {
wp_redirect( 'my-registration-page-is-better.php' );
exit();
}
add_action
とadd_filter
の両方が同じように動作することに注意してください(add_action
はadd_filter
を呼び出します)。混乱を招くので一般的には推奨できませんが、意味的にはフィルタではなくアクションでフィルタをハイジャックします。あなたは何も返さない。 「フィルタはフィルタ、アクションはアクションです」という厳密な規則に従うことを好む場合は、次のようにします。
add_filter( 'registration_redirect', 'wpse_46848_Hijack_the_back' );
function wpse_46848_Hijack_the_back( $redirect_to ) {
wp_redirect( 'my-registration-page-is-better.php' );
return exit();
}