是的,这是可能的。您必须为此创建三个过滤器。
类内的管理内容
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;
}
}
首先,我们需要过滤函数的输出
wp_login_url() 所使用的
wp_login_form() 在表单中
action 属性
看看这个方法modifyLoginUrl(). 这里我们存储页面的URLlogin 变量内部$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();
}