网站菜单

修改 WordPress Mu 子站点在密码重置时所用的域名

默认情况下,在 WordPress 子站点的登陆界面中,重置密码的链接使用的是主站点的域名。为了让子站点看起来更像是一个独立站点,避免暴露主站点的域名地址,我们可以通过一个插件来修正这个问题。

复制下面的代码,放到 WordPress Mu 的 /wp-content/plugins 目录里,并且在整个网络中启用这个插件即可。

<?php
/**
 * Plugin Name: Multisite: Passwort Reset on Local Blog
 * Plugin URI:  https://gist.github.com/eteubert/293e07a49f56f300ddbb
 * Description: By default, WordPress Multisite uses the main blog for passwort resets. This plugin enables users to stay in their blog during the whole reset process.
 * Version:     1.0.0
 * Author:      Eric Teubert
 * Author URI:  http://ericteubert.de
 * License:     MIT
 */
// fixes "Lost Password?" URLs on login page
add_filter("lostpassword_url", function ($url, $redirect) {	
    
    $args = array( 'action' => 'lostpassword' );
    
    if ( !empty($redirect) )
        $args['redirect_to'] = $redirect;
    return add_query_arg( $args, site_url('wp-login.php') );
}, 10, 2);
// fixes other password reset related urls
add_filter( 'network_site_url', function($url, $path, $scheme) {
  
  	if (stripos($url, "action=lostpassword") !== false)
        return site_url('wp-login.php?action=lostpassword', $scheme);
  
   	if (stripos($url, "action=resetpass") !== false)
        return site_url('wp-login.php?action=resetpass', $scheme);
  
    return $url;
}, 10, 3 );
// fixes URLs in email that goes out.
add_filter("retrieve_password_message", function ($message, $key) {
  	return str_replace(get_site_url(1), get_site_url(), $message);
}, 10, 2);
// fixes email title
add_filter("retrieve_password_title", function($title) {
    return sprintf( __( '[%s] Password Reset' ), wp_specialchars_decode(get_option('blogname'), ENT_QUOTES) );
});

 

显示评论 (0)

文章评论

相关推荐

Minio 对象存储进阶:为 Bucket 配置访问策略

这篇文章描述了创建 Minio Bucket(存储桶)、配置存储桶访问策略和设置授权用户(和对应的口令)的方法,这种配置策略支持多个用户,并且根据用户来区分不同存储桶的访问权限。 上篇我们介绍了通过 …

使用 Minio 构建支持通用 S3 协议的对象存储存

做网站用图床是一个常见做法,好处是把静态文件放在一个专门的服务器上分担主站点的流量,通过异步延迟载入图片来优化网站的载入速度,本文介绍 Minio 的基本配置方法。 下载 Minio wget htt…