当前位置: > Wordpress > WordPress开发用户中心常用函数

WordPress开发用户中心常用函数

前言


我们在使用WordPress过程中,网站有需求开发前端用户中心时候,需要调取用户的信息函数,在开发过程中加入css即可完美展示。网上很多都是插件,而且是付费的,其实折腾的在于过程,不如开始动手,慢慢的一个个问题解决,等开发完才会发现其实没有想象中的那么难,不要做行动的“矮人”。

WordPress开发用户中心常用函数

常用函数


<?php global $current_user;get_currentuserinfo();echo $current_user-&amp;amp;gt;user_email . "\n";?> //调取用户注册时选择的邮箱
<?php global $current_user;get_currentuserinfo();echo $current_user-&amp;amp;gt;user_login . "\n";?> //调取用户昵称
<?php if ( is_user_logged_in() ) { user_registered_date();} ?> //调取用户注册时间
<?php global $user_ID;echo get_comments('count=true&amp;amp;amp;user_id='.$user_ID);?> //调取用户在本站评论数量

WordPress 支持中文用户名


//让wordpress支持中文用户名
function ludou_sanitize_user ($username, $raw_username, $strict) {
$username = wp_strip_all_tags( $raw_username );
$username = remove_accents( $username );
// Kill octets
$username = preg_replace( '|%([a-fA-F0-9][a-fA-F0-9])|', '', $username );
$username = preg_replace( '/&.+?;/', '', $username ); // Kill entities
// 网上很多教程都是直接将$strict赋值false,
// 这样会绕过字符串检查,留下隐患
if ($strict) {
$username = preg_replace ('|[^a-z\p{Han}0-9 _.\-@]|iu', '', $username);
}
$username = trim( $username );
// Consolidate contiguous whitespace
$username = preg_replace( '|\s+|', ' ', $username );
return $username;
}
add_filter ('sanitize_user', 'ludou_sanitize_user', 10, 3);

非管理员不允许进入后台


//非管理员不允许进入后台
if ( is_admin() && ( !defined( 'DOING_AJAX' ) || !DOING_AJAX ) ) {
$current_user = wp_get_current_user();
if($current_user->roles[0] == get_option('default_role')) {
wp_safe_redirect( home_url() );
exit();
}
}

WordPress 支持Email登录


// 修改WordPress用户名过滤机制,通过Email获取用户名
function ludou_allow_email_login($username, $raw_username, $strict) {
if (filter_var($raw_username, FILTER_VALIDATE_EMAIL)) {
$user_data = get_user_by('email', $raw_username);
if (empty($user_data))
wp_die(__('<strong>ERROR</strong>: There is no user registered with that email address.'), '用户名不正确');
else
return $user_data->user_login;
}
else {
return $username;
}
}
if (strpos($_SERVER['REQUEST_URI'], '?action=register') === FALSE && strpos($_SERVER['REQUEST_URI'], '?action=lostpassword') === FALSE && strpos($_SERVER['REQUEST_URI'], '?action=rp') === FALSE ) {
add_filter('sanitize_user', 'ludou_allow_email_login', 10, 3);
}

使用方法

可通过页面写个自定义模板,css如果不会写可以借鉴一下其他网站的样式,如采用需通过作者同意,css调用起来把上面相应的函数进行替换,即可完美展示。

支付宝赞助
微信赞助

服务器低至¥114元/年 限时抢

安全、稳定、高效,阿里云服务器专享1折起,限时抢各种代金券

立即抢购
zyx

本站站长 一往无前的唯一力量就是热爱你所做的一切

WordPress开发用户中心常用函数:等您坐沙发呢!

发表评论

您必须 [ 登录 ] 才能发表留言!