{"id":14727,"date":"2020-03-31T23:23:52","date_gmt":"2020-03-31T15:23:52","guid":{"rendered":"https:\/\/www.npc.ink\/?p=14727"},"modified":"2020-04-04T00:13:41","modified_gmt":"2020-04-03T16:13:41","slug":"%e7%a6%81%e6%ad%a2%e6%8c%87%e5%ae%9a%e7%94%a8%e6%88%b7%e7%99%bb%e5%bd%95%ef%bc%88%e5%b0%8f%e9%bb%91%e5%b1%8b%ef%bc%89-wordpress%e5%bc%80%e5%8f%91","status":"publish","type":"post","link":"https:\/\/www.npc.ink\/14727.html","title":{"rendered":"\u7981\u6b62\u6307\u5b9a\u7528\u6237\u767b\u5f55\uff08\u5c0f\u9ed1\u5c4b\uff09 - wordpress\u5f00\u53d1"},"content":{"rendered":"\n
\u5728\u4e00\u4e9b\u591a\u7528\u6237\u7684\u7f51\u7ad9\u4e0a\u603b\u4f1a\u6709\u4e00\u4e9b\u7528\u6237\u4e0d\u600e\u4e48\u53d7\u6b22\u8fce\uff0c\u5f97\u60f3\u4e2a\u529e\u6cd5\u7981\u6b62\u8fd9\u4e9b\u7528\u6237\u767b\u5f55\uff0c\u5982\u679c\u60a8\u7684\u591a\u7528\u6237\u4f1a\u5458\u5236\u7f51\u7ad9\u8fd8\u6ca1\u6709\u5c0f\u9ed1\u5c4b\u529f\u80fd\uff0c\u90a3\u4e48\u6765\u770b\u770b\u8fd9\u4e00\u7bc7wordpress\u5f00\u53d1<\/a><\/strong>\u6559\u7a0b\u5427\u3002<\/p>\n\n\n\n \u5728\u4e3b\u9898\u6839\u76ee\u5f55\u4e0b\u7684 \u4fdd\u5b58\u5373\u53ef\u3002<\/p>\n\n\n\n \u5728\u201c\u6240\u6709\u7528\u6237<\/strong>\u201d\u4e2d\u627e\u5230\u60a8\u9700\u8981\u7981\u6b62\u767b\u5f55\u7684\u7528\u6237\uff0c\u5728\u5176\u201c\u4e2a\u4eba\u8d44\u6599<\/strong>\u201d\u5e95\u90e8\u6709\u76f8\u5173\u9009\u9879\uff1a<\/p>\n\n\n\n \u8fd8\u6709\u4e00\u4e2a\u95ee\u9898\uff0c\u5c31\u662f\u4e00\u4e2a\u8d26\u53f7\u540c\u65f6\u88ab\u591a\u4e2a\u7528\u6237\u767b\u5f55\uff0c\u76ee\u524d\u53ef\u4ee5\u901a\u8fc7\u8fd9\u6b3ewordpress\u63d2\u4ef6<\/strong><\/a>\u89e3\u51b3\uff1a<\/p>\n\n\n\u5b9e\u73b0\u65b9\u6cd5\uff1a<\/h2>\n\n\n\n
functions.php<\/code>\u6587\u4ef6\u7684
<?php<\/code>\u4e0b\u6dfb\u52a0\u4ee5\u4e0b\u4ee3\u7801\uff1a<\/p>\n\n\n\n
\/\/\u5728\u8d44\u6599\u9875\u9762\u6dfb\u52a0\u9009\u9879\nfunction dj_rc_admin_init(){ \n \/\/ \u7f16\u8f91\u7528\u6237\u8d44\u6599\n add_action( 'edit_user_profile', 'dj_rc_edit_user_profile' );\n add_action( 'edit_user_profile_update', 'dj_rc_edit_user_profile_update' ); \n}\nadd_action('admin_init', 'dj_rc_admin_init' );\n \n\/\/\u5728\u4e2a\u4eba\u8d44\u6599\u9875\u9762\u6dfb\u52a0\u4e00\u4e2a\u590d\u9009\u6846\nfunction dj_rc_edit_user_profile() {\n if ( !current_user_can( 'edit_users' ) ) {\n return;\n } \n global $user_id; \n \/\/ \u7528\u6237\u4e0d\u80fd\u7981\u6b62\u81ea\u5df1\n $current_user = wp_get_current_user();\n $current_user_id = $current_user->ID;\n if ( $current_user_id == $user_id ) {\n return;\n }\n ?>\n <h3>\u6743\u9650\u8bbe\u7f6e<\/h3>\n <table class=\"form-table\">\n <tr>\n <th scope=\"row\">\u7981\u6b62\u7528\u6237\u767b\u5f55<\/th>\n <td><label for=\"dj_rc_ban\"><input name=\"dj_rc_ban\" type=\"checkbox\" id=\"dj_rc_ban\" \n <?php if (dj_rc_is_user_banned( $user_id )){echo 'checked=\"checked\"';} ?> \/> \u52fe\u8d77\u6765\uff0c\u76d8Ta\uff0c\u4ec0\u4e48\u73a9\u610f\u513f\u2026\u2026<\/label><\/td>\n <\/tr>\n <\/table>\n <?php\n}\n \n\/\/\u6dfb\u52a0\u4e00\u4e2a\u51fd\u6570\u6765\u5c06\u8fd9\u4e2a\u9009\u9879\u7684\u503c\u4fdd\u5b58\u5230\u6570\u636e\u5e93\u4e2d\nfunction dj_rc_edit_user_profile_update() { \n if ( !current_user_can( 'edit_users' ) ) {\n return;\n } \n global $user_id; \n \/\/ \u7528\u6237\u4e0d\u80fd\u7981\u6b62\u81ea\u5df1\n $current_user = wp_get_current_user();\n $current_user_id = $current_user->ID;\n if ( $current_user_id == $user_id ) {\n return;\n } \n \/\/ \u9501\u5b9a\n if( isset( $_POST['dj_rc_ban'] ) && $_POST['dj_rc_ban'] = 'on' ) {\n dj_rc_ban_user( $user_id );\n } else { \/\/ \u89e3\u9501\n dj_rc_unban_user( $user_id );\n } \n}\n \n\/\/\u7981\u6b62\u7528\u6237\nfunction dj_rc_ban_user( $user_id ) { \n $old_status = dj_rc_is_user_banned( $user_id ); \n \/\/ \u66f4\u65b0\u72b6\u6001\n if ( !$old_status ) {\n update_user_option( $user_id, 'dj_rc_banned', true, false );\n }\n}\n \n\/\/\u89e3\u7981\u7528\u6237\nfunction dj_rc_unban_user( $user_id ) { \n $old_status = dj_rc_is_user_banned( $user_id ); \n \/\/ \u66f4\u65b0\u72b6\u6001\n if ( $old_status ) {\n update_user_option( $user_id, 'dj_rc_banned', false, false );\n }\n}\n \n\/\/\u5224\u65ad\u7528\u6237\u662f\u5426\u88ab\u7981\u6b62\nfunction dj_rc_is_user_banned( $user_id ) {\n return get_user_option( 'dj_rc_banned', $user_id, false );\n}\n \n\/\/\u963b\u6b62\u5df2\u7981\u6b62\u7684\u7528\u6237\u767b\u5f55\nfunction dj_rc_authenticate_user( $user ) { \n if ( is_wp_error( $user ) ) {\n return $user;\n } \n \/\/ \u5982\u679c\u7528\u6237\u88ab\u7981\u6b62\uff0c\u5219\u8fd4\u56de\u9519\u8bef\u63d0\u793a\uff0c\u8fd9\u91cc\u662f\u663e\u793a\u7ed9\u767b\u5f55\u7528\u6237\u770b\u7684\uff0c\u9519\u8bef\u63d0\u793a\u53ef\u6839\u636e\u81ea\u5df1\u7684\u559c\u597d\u4fee\u6539\u3002\n $banned = get_user_option( 'dj_rc_banned', $user->ID, false );\n if ( $banned ) {\n return new WP_Error( 'dj_rc_banned', __('\u62b1\u6b49\uff0c\u60a8\u5df2\u88ab\u7981\u6b62\u767b\u5f55\uff01\u8bf7\u8054\u7cfb\u7ad9\u957f\u89e3\u7981\u3002', 'rc') );\n } \n return $user;\n}\n\/\/\u5c06\u8be5\u51fd\u6570\u6302\u8f7d\u5230 wp_authenticate_user \u94a9\u5b50\nadd_filter( 'wp_authenticate_user', 'dj_rc_authenticate_user', 1 );\n\n<\/code><\/pre>\n\n\n\n
\u5982\u4f55\u4f7f\u7528\uff1f<\/h2>\n\n\n\n
<\/figure><\/div>\n\n\n\n
<\/figure><\/div>\n\n\n\n
\u6ce8\u610f\uff1a<\/h2>\n\n\n\n