Post author:Nita Post last modified:9 7 月, 2022 Ultimate Member 註冊表單、新增的欄位在後台顯示資訊 前提需求 : 新增一管理員角色,讓客戶自行至後台修改文章、管理使用者。此管理員的後台介面僅開放客戶需求的頁面與設定修改與查詢!並且在使用者資訊欄位,必須能夠查看前台註冊表單的新增欄位資訊。(如下圖) 環境設定 : 前台的註冊表單,使用Ultimate Member 的註冊表單,並且新增一些欄位資訊與ID。後台使用WP原生的使用者。 問題在於 : 關於後台UM註冊資訊,客製化的管理員腳色,是無法查詢使用者資訊中的註冊訊息。此註冊訊息僅限於有 manage_option 權限才可以看到。然而,若是開啟manage_options後,所有後台的設定與外掛,客戶都可以看到。 解決方式 : 不見得是唯一的解決方式,但是目前找到的方式:在外觀中的 functions.php加上以下的代碼: /*** Add capability ‘manage_options’ dynamically when user retrieves information for the popup “Review Registration Details”* @author Ultimate Member support <support@ultimatemember.com>* @since 2021-11-21* @see #56270*/add_filter( ‘user_has_cap’, function( $allcaps, $caps, $args, $WP_User ) {if ( defined( ‘DOING_AJAX’ ) && DOING_AJAX && in_array( ‘manage_options’, $caps ) ) {$nonce = isset( $_REQUEST[‘nonce’] ) ? sanitize_text_field( $_REQUEST[‘nonce’] ) : ”;$action = isset( $_REQUEST[‘action’] ) ? sanitize_key( $_REQUEST[‘action’] ) : ”;$act_id = isset( $_REQUEST[‘act_id’] ) ? sanitize_key( $_REQUEST[‘act_id’] ) : ”;$profile_id = isset( $_REQUEST[‘arg1’] ) ? absint( $_REQUEST[‘arg1’] ) : 0;if ( wp_verify_nonce( $nonce, ‘um-admin-nonce’ ) && ‘um_dynamic_modal_content’ === $action && ‘um_admin_review_registration’ === $act_id && um_can_view_profile( $profile_id ) ) {$allcaps[‘manage_options’] = 1;}}return $allcaps;}, 20, 4 ); 解決狀況 : 登入後台的使用者,無須開啟manage_options權限,就可以查看使用者的註冊資料! Let's change the world together Share this content Opens in a new window Twitter Opens in a new window Facebook Opens in a new window Pinterest You Might Also Like AffiliateWP shortcode 26 1 月, 2021 受保護的內容: AffiliateWP分潤系統架設與設定 — WordPress 4 2 月, 2022