如何使WordPress用户配置文件中的自定义字段为只读?

时间:2018-08-29 06:27:20

标签: wordpress plugins advanced-custom-fields

在WordPress中,我要将用户个人资料中的自定义字段改编为只读字段。

我曾尝试使用Advanced Access Manager插件实现这一目标,但是我无法隐藏该字段。

enter image description here

1 个答案:

答案 0 :(得分:0)

据我所知,“编辑用户”和“配置文件”页面中只有三个过滤器挂钩:user_contactmethods,admin_color_scheme_picker和show_password_fields。 jQuery必须完成所有其他工作。用您的标签替换()your_lable

add_action('admin_init', 'user_profile_fields_disable');

function user_profile_fields_disable() {

    global $pagenow;

    // apply only to user profile or user edit pages
    if ($pagenow!=='profile.php' && $pagenow!=='user-edit.php') {
        return;
    }

    // do not change anything for the administrator
    if (current_user_can('administrator')) {
        return;
    }

    add_action( 'admin_footer', 'user_profile_fields_disable_js' );

}


/**
 * Disables selected fields in WP Admin user profile (profile.php, user-edit.php)
 */
function user_profile_fields_disable_js() {
?>
    <script>
        jQuery(document).ready( function($) {
            var fields_to_disable = ['your_lable', 'role'];
            for(i=0; i<fields_to_disable.length; i++) {
                if ( $('#'+ fields_to_disable[i]).length ) {
                    $('#'+ fields_to_disable[i]).attr("disabled", "disabled");
                }
            }
        });
    </script>
<?php
}