get_editable_user_ids()

最后更新于:2021-11-26 09:07:12

get_editable_user_ids( int$user_id, bool$exclude_zeros=true, $post_type=’post’)

Gets the IDs of any users who can edit posts.

参数

$user_id

(int) (Required) User ID.

$exclude_zeros

(bool) (Optional) Whether to exclude zeroes.

Default value: true

响应

(array) Array of editable user IDs, empty array otherwise.

源文件

文件: gc-admin/includes/deprecated.php

function get_editable_user_ids( $user_id, $exclude_zeros = true, $post_type = 'post' ) {
	_deprecated_function( __FUNCTION__, '3.1.0', 'get_users()' );

	global $gcdb;

	if ( ! $user = get_userdata( $user_id ) )
		return array();
	$post_type_obj = get_post_type_object($post_type);

	if ( ! $user->has_cap($post_type_obj->cap->edit_others_posts) ) {
		if ( $user->has_cap($post_type_obj->cap->edit_posts) || ! $exclude_zeros )
			return array($user->ID);
		else
			return array();
	}

	if ( !is_multisite() )
		$level_key = $gcdb->get_blog_prefix() . 'user_level';
	else
		$level_key = $gcdb->get_blog_prefix() . 'capabilities'; // GCMU site admins don't have user_levels.

	$query = $gcdb->prepare("SELECT user_id FROM $gcdb->usermeta WHERE meta_key = %s", $level_key);
	if ( $exclude_zeros )
		$query .= " AND meta_value != '0'";

	return $gcdb->get_col( $query );
}