已创建论坛回复
-
作者帖子
-
汉化版的 demo 出来了吗
应该不是插件的问题,我禁用所有插件,还是显示不出来,我去数据库里面强行修改成 true,前台还是不显示。
其他成员在数据库修改成 true 就会显示,只有网站默认创建人有这个问题
多谢回复,ultimate member 可能确实有问题。。。我去官方论坛搜了下,也有很多人在抱怨太慢。
现在我换了一个 Membership by Supsystic 插件,速度超快,ttfb 时间从 6 秒降到了几百毫秒
奇怪的是,为啥贵站用的 ultimate 就不卡呢
正好我也有这个需求,研究了半天搞出来了,记下来备份。
ultimate member 默认注册不支持中文,会报错,所以需要修改代码。
首先把注册表单调成这样。
然后找到文件 wp-content/plugins/ultimate-member/includes/core/um-actions-register
修改以下函数
function um_submit_form_register( $args ) { if ( isset( UM()->form()->errors ) ) return false; $displayname= $args['nickname'];//获取昵称,用作中文注册名称 /** * UM hook * * @type filter * @title um_add_user_frontend_submitted * @description Extend user data on registration form submit * @input_vars * [{"var":"$submitted","type":"array","desc":"Registration data"}] * @change_log * ["Since: 2.0"] * @usage * <!--?php add_filter( 'um_add_user_frontend_submitted', 'function_name', 10, 1 ); ?--> * @example * <!--?php * add_filter( 'um_add_user_frontend_submitted', 'my_add_user_frontend_submitted', 10, 1 ); * function my_add_user_frontend_submitted( $submitted ) { * // your code here * return $submitted; * } * ?--> */ $args = apply_filters( 'um_add_user_frontend_submitted', $args ); extract( $args ); if ( isset( $username ) && ! isset( $user_login ) ) { $user_login = $username; } if ( ! empty( $first_name ) && ! empty( $last_name ) && ! isset( $user_login ) ) { if ( UM()->options()->get( 'permalink_base' ) == 'name' ) { $user_login = rawurlencode( strtolower( str_replace( " ", ".", $first_name . " " . $last_name ) ) ); } elseif ( UM()->options()->get( 'permalink_base' ) == 'name_dash' ) { $user_login = rawurlencode( strtolower( str_replace( " ", "-", $first_name . " " . $last_name ) ) ); } elseif ( UM()->options()->get( 'permalink_base' ) == 'name_plus' ) { $user_login = strtolower( str_replace( " ", "+", $first_name . " " . $last_name ) ); } else { $user_login = strtolower( str_replace( " ", "", $first_name . " " . $last_name ) ); } // if full name exists $count = 1; while ( username_exists( $user_login ) ) { $user_login .= $count; $count++; } } if ( ! isset( $user_login ) && isset( $user_email ) && $user_email ) { $user_login = $user_email; } $unique_userID = UM()->query()->count_users() + 1; if ( ! isset( $user_login ) || strlen( $user_login ) > 30 && ! is_email( $user_login ) ) { $user_login = 'user' . $unique_userID; } if ( isset( $username ) && is_email( $username ) ) { $user_email = $username; } if ( ! isset( $user_password ) ) { $user_password = UM()->validation()->generate( 8 ); } if ( ! isset( $user_email ) ) { $site_url = @$_SERVER['SERVER_NAME']; $user_email = 'nobody' . $unique_userID . '@' . $site_url; /** * UM hook * * @type filter * @title um_user_register_submitted__email * @description Change user default email if it's empty on registration * @input_vars * [{"var":"$user_email","type":"string","desc":"Default email"}] * @change_log * ["Since: 2.0"] * @usage * <!--?php add_filter( 'um_user_register_submitted__email', 'function_name', 10, 1 ); ?--> * @example * <!--?php * add_filter( 'um_user_register_submitted__email', 'my_user_register_submitted__email', 10, 1 ); * function my_user_register_submitted__email( $user_email ) { * // your code here * return $user_email; * } * ?--> */ $user_email = apply_filters( 'um_user_register_submitted__email', $user_email ); } $credentials = array( 'user_login' => $user_login, 'user_password' => $user_password, 'user_email' => trim( $user_email ), ); $args['submitted'] = array_merge( $args['submitted'], $credentials ); $args = array_merge( $args, $credentials ); //get user role from global or form's settings $user_role = UM()->form()->assigned_role( UM()->form()->form_id ); //get user role from field Role dropdown or radio if ( isset( $args['role'] ) ) { global $wp_roles; $um_roles = get_option( 'um_roles' ); if ( ! empty( $um_roles ) ) { $role_keys = array_map( function( $item ) { return 'um_' . $item; }, get_option( 'um_roles' ) ); } else { $role_keys = array(); } $exclude_roles = array_diff( array_keys( $wp_roles->roles ), array_merge( $role_keys, array( 'subscriber' ) ) ); //if role is properly set it if ( ! in_array( $args['role'], $exclude_roles ) ) { $user_role = $args['role']; } } /** * UM hook * * @type filter * @title um_registration_user_role * @description Change user role on registration process * @input_vars * [{"var":"$role","type":"string","desc":"User role"}, * {"var":"$submitted","type":"array","desc":"Registration data"}] * @change_log * ["Since: 2.0"] * @usage * <!--?php add_filter( 'um_registration_user_role', 'function_name', 10, 2 ); ?--> * @example * <!--?php * add_filter( 'um_registration_user_role', 'my_registration_user_role', 10, 2 ); * function my_user_register_submitted__email( $role, $submitted ) { * // your code here * return $role; * } * ?--> */ $user_role = apply_filters( 'um_registration_user_role', $user_role, $args ); $userdata = array( 'user_login' => $user_login, 'user_pass' => $user_password, 'user_email' => $user_email, 'role' => $user_role, 'display_name' => $displayname,//允许中文名称注册,将昵称作为用户名 ); $user_id = wp_insert_user( $userdata ); /** * UM hook * * @type action * @title um_user_register * @description After complete UM user registration. * @input_vars * [{"var":"$user_id","type":"int","desc":"User ID"}, * {"var":"$args","type":"array","desc":"Form data"}] * @change_log * ["Since: 2.0"] * @usage add_action( 'um_user_register', 'function_name', 10, 2 ); * @example * <!--?php * add_action( 'um_user_register', 'my_user_register', 10, 2 ); * function my_user_register( $user_id, $args ) { * // your code here * } * ?--> */ do_action( 'um_user_register', $user_id, $args ); return $user_id; }
这样就支持中文了,bbpress 右侧栏小工具也能默认显示中文了。
回复至: 网站 request 数量特别多 #29348我用另一个号登录,不是管理员,请求也是一两百啊。。。
好像一登录之后,插件就不压缩 css 和 js 了
回复至: 网站 request 数量特别多 #29346此回复已被标记为私有,🔒 仅楼主及管理员可见。好像是这儿的原因,公开显示需要选择下,我再继续观察看看
回复至: 网站 request 数量特别多 #29300原来有这么多坑~学习了
回复至: 网站 request 数量特别多 #29298此回复已被标记为私有,🔒 仅楼主及管理员可见。 -
作者帖子