123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- <?php
- /**
- * acf_get_users
- *
- * Similar to the get_users() function but with extra functionality.
- *
- * @date 9/1/19
- * @since 5.7.10
- *
- * @param array $args The query args.
- * @return array
- */
- function acf_get_users( $args = array() ) {
- // Get users.
- $users = get_users( $args );
- // Maintain order.
- if ( $users && $args['include'] ) {
- // Generate order array.
- $order = array();
- foreach ( $users as $i => $user ) {
- $order[ $i ] = array_search( $user->ID, $args['include'] );
- }
- // Sort results.
- array_multisort( $order, $users );
- }
- // Return
- return $users;
- }
- /**
- * acf_get_user_result
- *
- * Returns a result containing "id" and "text" for the given user.
- *
- * @date 21/5/19
- * @since 5.8.1
- *
- * @param WP_User $user The user object.
- * @return array
- */
- function acf_get_user_result( $user ) {
- // Vars.
- $id = $user->ID;
- $text = $user->user_login;
- // Add name.
- if ( $user->first_name && $user->last_name ) {
- $text .= " ({$user->first_name} {$user->last_name})";
- } elseif ( $user->first_name ) {
- $text .= " ({$user->first_name})";
- }
- return compact( 'id', 'text' );
- }
- /**
- * acf_get_user_role_labels
- *
- * Returns an array of user roles in the format "name => label".
- *
- * @date 20/5/19
- * @since 5.8.1
- *
- * @param array $roles A specific array of roles.
- * @return array
- */
- function acf_get_user_role_labels( $roles = array() ) {
- $all_roles = wp_roles()->get_names();
- // Load all roles if none provided.
- if ( empty( $roles ) ) {
- $roles = array_keys( $all_roles );
- }
- // Loop over roles and populare labels.
- $lables = array();
- foreach ( $roles as $role ) {
- if ( isset( $all_roles[ $role ] ) ) {
- $lables[ $role ] = translate_user_role( $all_roles[ $role ] );
- }
- }
- // Return labels.
- return $lables;
- }
- /**
- * acf_allow_unfiltered_html
- *
- * Returns true if the current user is allowed to save unfiltered HTML.
- *
- * @date 9/1/19
- * @since 5.7.10
- *
- * @param void
- * @return bool
- */
- function acf_allow_unfiltered_html() {
- // Check capability.
- $allow_unfiltered_html = current_user_can( 'unfiltered_html' );
- /**
- * Filters whether the current user is allowed to save unfiltered HTML.
- *
- * @date 9/1/19
- * @since 5.7.10
- *
- * @param bool allow_unfiltered_html The result.
- */
- return apply_filters( 'acf/allow_unfiltered_html', $allow_unfiltered_html );
- }
|