WordPress 这款程序的扩展性很强,几乎可以做成任何类型的网站。越来越多的企业站、新闻源、 CMS 站点开始使用 WordPress 系统来建站了。随着大部队的到来,各种奇怪的需求也就随之而来。比如说有些管理员希望网站的用户不能自己直接修改账户的密码。虽然要求的确很无厘头但是 WordPress 可以在完全不修改系统程序的情况下实现非管理员用户的用户无法直接修改账户密码。

实现方法:

add_filter( 'allow_password_reset', 'tcb_disable_password_reset', 10, 2 );

function tcb_disable_password_reset( $allow, $user_id ){
  $user = new WP_User( $user_id );
  if( 'administrator' != reset( $user->roles ) ) :
    $allow = false;
  endif;

  return $allow;
}

将以上代码加入到当前主题的 functions.php 文件中即可。 (PS:这段并不是让用户完全不能修改账户密码而是不能通过常规的方法来修改密码,管理员可以通过数据库来帮助用户修改密码。)