first commit
This commit is contained in:
@ -0,0 +1,119 @@
|
||||
<?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 );
|
||||
}
|
Reference in New Issue
Block a user