Post author:Nita Post published:18 4 月, 2022 Post category:WordPress Post comments:0 Comments 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權限,就可以查看使用者的註冊資料! Please Share This Share this content Opens in a new window Opens in a new window Opens in a new window Opens in a new window Opens in a new window Opens in a new window Opens in a new window Opens in a new window Opens in a new window Opens in a new window Opens in a new window You Might Also Like AffiliateWP shortcode 26 1 月, 2021 受保護的內容: AffiliateWP分潤系統架設與設定 — WordPress 4 2 月, 2022 發佈留言 取消回覆CommentEnter your name or username to comment Enter your email address to comment Enter your website URL (optional) 在瀏覽器中儲存顯示名稱、電子郵件地址及個人網站網址,以供下次發佈留言時使用。