네 가능합니다. 이를 위해 세 개의 필터를 만들어야합니다.
수업 내부의 관리 자료
class WPSE29338_Admin {
public static function setup() {
add_filter('login_url', array(__CLASS__, 'modifyLoginURL'), 10, 2);
add_filter('lostpassword_url', array(__CLASS__, 'modifyLostPasswordURL'), 10, 2);
add_filter('register', array(__CLASS__, 'modifyRegisterURL'));
}
public static function modifyLoginURL($loginUrl, $redirect = '') {
$loginUrl = site_url('login'); // Link to login URL
if(!empty($redirect)) {
$loginUrl = add_query_arg('redirect_to', urlencode($redirect), $loginUrl);
}
return $loginUrl;
}
public static function modifyLostPasswordURL($lostpwUrl, $redirect = '') {
$lostpwUrl = wp_login_url() . '#lostpassword'; // Link to lostpassword URL
if(!empty($redirect)) {
$lostpwUrl = add_query_arg('redirect_to', urlencode($redirect), $lostpwUrl);
}
return $lostpwUrl;
}
public static function modifyRegisterURL($registerUrl) {
if(!is_user_logged_in()) {
if (get_option('users_can_register')) {
$registerUrl = '<a href="' . wp_login_url() . '#register" class="btn">' . __('Register') . '</a>'; // Link to register URL
} else {
$registerUrl = '';
}
}
return $registerUrl;
}
}
먼저 forms 속성 에서 wp_login_url()
사용되는 함수의 출력을 필터링해야 합니다.wp_login_form()
action
방법을보십시오 modifyLoginUrl()
. 여기서 login
변수의 내부에 페이지의 URL을 저장합니다 $loginUrl
. 이 페이지는 WordPress 내에 존재해야하므로 먼저 작성하십시오.
다음으로 우리는 함수에 대한 필터 필요 wp_lostpassword_url()
와 wp_register()
. 기본적으로 동일합니다. 사이트의 URL 변수 내부에 저장 $lostpwUrl
하고 $registerUrl
.
마지막으로 올바른 작업 후크에서 클래스를 호출해야합니다. 테마 after_setup_theme
및 플러그인의 경우 사용할 수 있습니다 plugins_loaded
.
테마 / 함수 .php
add_action('after_setup_theme', 'wpse29338_admin_init');
function wpse29338_admin_init() {
WPSE29338_Admin::setup();
}
플러그인
add_action('plugins_loaded', 'wpse29338_admin_init');
function wpse29338_admin_init() {
WPSE29338_Admin::setup();
}