当前位置:首页>WordPress建站>后台定制>WordPress 禁止用户编辑“我的个人资料”的电子邮件等字段

WordPress 禁止用户编辑“我的个人资料”的电子邮件等字段

WordPress 主题 CoreNext

前些天, @iweb 询问如何才能禁止用户编辑“我的个人资料”中的电子邮件,倡萌今天就分享下,通过 jQuery 给表单添加禁用 disabled="disabled" 或 只读 readonly="readonly" 属性来禁止用户编辑字段的方法。将下面的代码添加到主题的 functions.php 文件即可:

/**
 * WordPress 禁止用户编辑个人资料的某些字段
 * https://www.wpdaxue.com/disable-profile-fields.html
 */
global $pagenow;
if ( !current_user_can( 'manage_options' ) && $pagenow == 'profile.php' ) {
	add_action( 'admin_footer', 'disable_userprofile_fields' );
}

function disable_userprofile_fields() {
	?>
	<script>
		jQuery(document).ready( function($) {

			//禁止编辑“电子邮件”(input 举例)
			if ( $('input[name=email]').length ) {
				$('input[name=email]').attr("disabled", "disabled");
			}
			
			//禁止编辑“个人说明”(textarea 举例)
			if ( $('textarea[name=description]').length ) {
				$('textarea[name=description]').attr("readonly", "readonly");
			}
			
			//禁止编辑“公开显示为”(select 举例)
			if ( $('select[name=display_name]').length ) {
				$('select[name=display_name]').attr("disabled", "disabled");
			}

		});
	</script>
	<?php
}

以上代码可以实现 非管理员用户无法编辑 电子邮箱、个人说明、公开显示为 。你可以根据自己的需要进行修改,只要查看源代码找到表单的 name 属性,修改一下就可以禁止修改任何字段。

如果要禁止访问“我的个人资料”,可以参考:https://www.wpdaxue.com/disallow-editing-profile-information.html

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
欢迎关注WordPress大学公众号 WPDAXUE
用户交互

WordPress 登录/登出(注销)后返回之前访问的页面

2013-9-13 8:27:22

用户交互

WordPress 用户的个人资料更新时发送邮件通知

2013-9-17 9:33:26

7 条回复 A文章作者 M管理员
  1. 肖肖小3

    如何实现,提交后,不能二次修改。

  2. 这个方法不行,等下会用户更新治疗的时候会出现“错误:请输入一个有效的电子邮件地址。”这样子的错误,这个怎么解决??@倡萌

  3. LED

    太弱了 这个 随便来个XXOO就可以改了 最好是提交之前判断 自动摒弃相关值

  4. get

  5. http://www.huxiu.com/tagslist/all.html 请问这样的TAG列表时如何实现的?有没有相关教程或者什么插件可以实现?

    • 这个标签页面 我喜欢 哈哈 挖过来玩玩

    • 这个不错,找到如何实现了吗?

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索