id ) ) { $screen_id = $current_screen->id; if ( 'nav-menus' === $screen_id || strstr( $screen_id, 'ultimatemember' ) || strstr( $screen_id, 'um_' ) || strstr( $screen_id, 'user' ) || strstr( $screen_id, 'profile' ) ) { $is_um_screen = true; } } if ( $this->is_own_post_type() ) { $is_um_screen = true; } if ( $this->is_restricted_entity() ) { $is_um_screen = true; } /** * Filters marker about displaying Ultimate Member screen in wp-admin or another one. * * @since 2.8.0 * @hook um_is_ultimatememeber_admin_screen * * @param {array} $variables Data to localize. * * @return {array} Data to localize. * * @example Add `my_custom_variable` to common scripts to be callable via `um_common_variables.my_custom_variable` in JS. * function um_custom_common_js_variables( $variables ) { * $variables['{my_custom_variable}'] = '{my_custom_variable_value}'; * return $variables; * } * add_filter( 'um_common_js_variables', 'um_custom_common_js_variables' ); */ return apply_filters( 'um_is_ultimatememeber_admin_screen', $is_um_screen ); } /** * Check if current page load UM post type. * * @since 2.8.0 * * @return bool */ public function is_own_post_type() { $cpt = UM()->common()->cpt()->get_list(); if ( isset( $_REQUEST['post_type'] ) ) { $post_type = sanitize_key( $_REQUEST['post_type'] ); if ( in_array( $post_type, $cpt, true ) ) { return true; } } elseif ( isset( $_REQUEST['action'] ) && 'edit' === sanitize_key( $_REQUEST['action'] ) ) { $post_type = get_post_type(); if ( in_array( $post_type, $cpt, true ) ) { return true; } } return false; } /** * If page now show content with restricted post/taxonomy. * * @since 2.8.0 * * @return bool */ public function is_restricted_entity() { $restricted_posts = UM()->options()->get( 'restricted_access_post_metabox' ); $restricted_taxonomies = UM()->options()->get( 'restricted_access_taxonomy_metabox' ); global $typenow, $taxnow; if ( ! empty( $typenow ) && ! empty( $restricted_posts[ $typenow ] ) ) { return true; } if ( ! empty( $taxnow ) && ! empty( $restricted_taxonomies[ $taxnow ] ) ) { return true; } return false; } }