其它 · 05/16/2019 0

wordpress更换后台登录地址/界面方法

1、后台地址更改-更安全

此处暂时不介绍插件相关的解决方案。

方式一:

  • 修改根目录下的wp-login.php文件为想要的文件名称,如myadlogin.php
  • 修改wp-includes/general-template.php文件内容中的wp-login.php为对应文件名称

方式二:

  • 在当前主题目录functions.php或者wp-includes/functions.php加入特殊参数,如果参数不存在或错误则无法访问
function check_admin_login(){
	if(!isset($_GET['tuine']) || $_GET['tuine'] != 'admin') {
		header('Location: https://blog.tuine.me/');
                exit;
	}
}
add_action('login_enqueue_scripts','check_admin_login');

注意:

此时通过访问域名/admin或者/login,依旧会进行跳转,可更改wp-includes/canonical.php中wp_redirect_admin_locations()方法,进行去除或者修改为自定义。

2、修改后登陆页面的logo及跳转地址

方式一:

  • 修改对应logo图,wp-admin/images下的wordpress-logo-white.svg、wordpress-logo.png、wordpress-logo.svg、w-logo-blue.png等文件
  • 修改对应的语言文件。如中文:wp-content/languages/zh_CN.po,可全部修改wordpress.org相关msgid,然后生成mo文件
msgid "https://wordpress.org/"
msgstr "https://blog.tuine.me/"

注:生成mo文件方式:

  • 可以用Poedit软件进行修改。如需Mac版可留言获取
  • Mac/Linux用户可安装gettext,然后进行mo文件。Mac使用如下:
#安装
brew install gettext
#po2mo使用
msgcat zh_CN.po | msgfmt -o zh_CN.mo -
#mo2po
msgfmt -o zh_CN.mo zh_CN.po

方式二:

简单粗暴的方式,直接修改wp-login.php文件。多站点直接获取域名及网站名称

if ( is_multisite() ) {
    $login_header_url   = network_home_url();
    $login_header_title = $current_site->site_name;
} else {
    $login_header_url   = __( 'http://wordpress.org/' );
    $login_header_title = __( 'Powered by WordPress' );
}

方式三:

在主题的functions.php添加代码:

#修改logo链接地址
add_filter('login_headerurl', create_function(false,"return get_bloginfo( 'siteurl' );"));
#logo文字
add_filter('login_headertitle', create_function(false,"return get_bloginfo( 'description' );"));
#修改logo图片,在主题下增加新logo地
add_action('login_head', 'my_custom_login_logo');
function my_custom_login_logo() {
    echo '<style type="text/css">
        h1 a { background-image:url('.get_bloginfo('template_directory').'/images/wordpress-logo.png) !important; }
    </style>';
}

3、去除wordpress悄悄自动更新

方式一:

在相应主题的functions.php添加代码:

add_filter( 'automatic_updater_disabled', '__return_true' );

方式二(建议):

根目录配置文件wp-config.php中require_once( ABSPATH . 'wp-settings.php' );之前添加代码:

//关闭wordPress自动更新升级
define('AUTOMATIC_UPDATER_DISABLED', true);