WordPress как на ладони

wp_roles()WP 4.3.0

Получает глобальную переменную $wp_roles, если она не определена, записывает в нее экземпляр класса WP_Roles.

Кэширует в глобальную переменную $wp_roles экземпляр класса WP_Roles и возвращает переменную $wp_roles.

Данные о ролях хранятся в таблице опций wp_options — опция wp_user_roles.

1 раз — 0.000017 сек (очень быстро) | 50000 раз — 0.01 сек (скорость света)

Хуков нет.

Возвращает

WP_Roles.

Использование

wp_roles();

Примеры

0

#1 Получим название роли

echo wp_roles()->roles['administrator']['name']; // > Администратор
0

#2 Получим весь класс (все роли и их возможности)

Обратите внимание, что этот список может отлечаться от дефолтных прав идущих из коробки.

print_r( wp_roles() );

/* Выведет:
WP_Roles Object
(
	[roles] => Array
		(
			[administrator] => Array
				(
					[name] => Administrator
					[capabilities] => Array
						(
							[switch_themes] => 1
							[edit_themes] => 1
							[activate_plugins] => 1
							[edit_plugins] => 1
							[edit_users] => 1
							[edit_files] => 1
							[manage_options] => 1
							[moderate_comments] => 1
							[manage_categories] => 1
							[manage_links] => 1
							[upload_files] => 1
							[import] => 1
							[unfiltered_html] => 1
							[edit_posts] => 1
							[edit_others_posts] => 1
							[edit_published_posts] => 1
							[publish_posts] => 1
							[edit_pages] => 1
							[read] => 1
							[level_10] => 1
							[level_9] => 1
							[level_8] => 1
							[level_7] => 1
							[level_6] => 1
							[level_5] => 1
							[level_4] => 1
							[level_3] => 1
							[level_2] => 1
							[level_1] => 1
							[level_0] => 1
							[edit_others_pages] => 1
							[edit_published_pages] => 1
							[publish_pages] => 1
							[delete_pages] => 1
							[delete_others_pages] => 1
							[delete_published_pages] => 1
							[delete_posts] => 1
							[delete_others_posts] => 1
							[delete_published_posts] => 1
							[delete_private_posts] => 1
							[edit_private_posts] => 1
							[read_private_posts] => 1
							[delete_private_pages] => 1
							[edit_private_pages] => 1
							[read_private_pages] => 1
							[delete_users] => 1
							[create_users] => 1
							[unfiltered_upload] => 1
							[edit_dashboard] => 1
							[update_plugins] => 1
							[delete_plugins] => 1
							[install_plugins] => 1
							[update_themes] => 1
							[install_themes] => 1
							[manage_downloads] => 1
							[manage_database] => 1
							[update_core] => 1
							[list_users] => 1
							[remove_users] => 1
							[add_users] => 1
							[promote_users] => 1
							[edit_theme_options] => 1
							[delete_themes] => 1
							[export] => 1
						)

				)

			[editor] => Array
				(
					[name] => Editor
					[capabilities] => Array
						(
							[moderate_comments] => 1
							[manage_categories] => 1
							[manage_links] => 1
							[upload_files] => 1
							[unfiltered_html] => 1
							[edit_posts] => 1
							[edit_others_posts] => 1
							[edit_published_posts] => 1
							[publish_posts] => 1
							[edit_pages] => 1
							[read] => 1
							[level_7] => 1
							[level_6] => 1
							[level_5] => 1
							[level_4] => 1
							[level_3] => 1
							[level_2] => 1
							[level_1] => 1
							[level_0] => 1
							[edit_others_pages] => 1
							[edit_published_pages] => 1
							[publish_pages] => 1
							[delete_pages] => 1
							[delete_others_pages] => 1
							[delete_published_pages] => 1
							[delete_posts] => 1
							[delete_others_posts] => 1
							[delete_published_posts] => 1
							[delete_private_posts] => 1
							[edit_private_posts] => 1
							[read_private_posts] => 1
							[delete_private_pages] => 1
							[edit_private_pages] => 1
							[read_private_pages] => 1
						)

				)

			[author] => Array
				(
					[name] => Author
					[capabilities] => Array
						(
							[upload_files] => 1
							[edit_posts] => 1
							[edit_published_posts] => 1
							[publish_posts] => 1
							[read] => 1
							[level_2] => 1
							[level_1] => 1
							[level_0] => 1
							[delete_posts] => 1
							[delete_published_posts] => 1
						)

				)

			[contributor] => Array
				(
					[name] => Contributor
					[capabilities] => Array
						(
							[edit_posts] => 1
							[read] => 1
							[level_1] => 1
							[level_0] => 1
							[delete_posts] => 1
						)

				)

			[subscriber] => Array
				(
					[name] => Subscriber
					[capabilities] => Array
						(
							[read] => 1
							[level_0] => 1
						)

				)

		)

	[role_objects] => Array
		(
			[administrator] => WP_Role Object
				(
					[name] => administrator
					[capabilities] => Array
						(
							[switch_themes] => 1
							[edit_themes] => 1
							[activate_plugins] => 1
							[edit_plugins] => 1
							[edit_users] => 1
							[edit_files] => 1
							[manage_options] => 1
							[moderate_comments] => 1
							[manage_categories] => 1
							[manage_links] => 1
							[upload_files] => 1
							[import] => 1
							[unfiltered_html] => 1
							[edit_posts] => 1
							[edit_others_posts] => 1
							[edit_published_posts] => 1
							[publish_posts] => 1
							[edit_pages] => 1
							[read] => 1
							[level_10] => 1
							[level_9] => 1
							[level_8] => 1
							[level_7] => 1
							[level_6] => 1
							[level_5] => 1
							[level_4] => 1
							[level_3] => 1
							[level_2] => 1
							[level_1] => 1
							[level_0] => 1
							[edit_others_pages] => 1
							[edit_published_pages] => 1
							[publish_pages] => 1
							[delete_pages] => 1
							[delete_others_pages] => 1
							[delete_published_pages] => 1
							[delete_posts] => 1
							[delete_others_posts] => 1
							[delete_published_posts] => 1
							[delete_private_posts] => 1
							[edit_private_posts] => 1
							[read_private_posts] => 1
							[delete_private_pages] => 1
							[edit_private_pages] => 1
							[read_private_pages] => 1
							[delete_users] => 1
							[create_users] => 1
							[unfiltered_upload] => 1
							[edit_dashboard] => 1
							[update_plugins] => 1
							[delete_plugins] => 1
							[install_plugins] => 1
							[update_themes] => 1
							[install_themes] => 1
							[manage_downloads] => 1
							[manage_database] => 1
							[update_core] => 1
							[list_users] => 1
							[remove_users] => 1
							[add_users] => 1
							[promote_users] => 1
							[edit_theme_options] => 1
							[delete_themes] => 1
							[export] => 1
						)

				)

			[editor] => WP_Role Object
				(
					[name] => editor
					[capabilities] => Array
						(
							[moderate_comments] => 1
							[manage_categories] => 1
							[manage_links] => 1
							[upload_files] => 1
							[unfiltered_html] => 1
							[edit_posts] => 1
							[edit_others_posts] => 1
							[edit_published_posts] => 1
							[publish_posts] => 1
							[edit_pages] => 1
							[read] => 1
							[level_7] => 1
							[level_6] => 1
							[level_5] => 1
							[level_4] => 1
							[level_3] => 1
							[level_2] => 1
							[level_1] => 1
							[level_0] => 1
							[edit_others_pages] => 1
							[edit_published_pages] => 1
							[publish_pages] => 1
							[delete_pages] => 1
							[delete_others_pages] => 1
							[delete_published_pages] => 1
							[delete_posts] => 1
							[delete_others_posts] => 1
							[delete_published_posts] => 1
							[delete_private_posts] => 1
							[edit_private_posts] => 1
							[read_private_posts] => 1
							[delete_private_pages] => 1
							[edit_private_pages] => 1
							[read_private_pages] => 1
						)

				)

			[author] => WP_Role Object
				(
					[name] => author
					[capabilities] => Array
						(
							[upload_files] => 1
							[edit_posts] => 1
							[edit_published_posts] => 1
							[publish_posts] => 1
							[read] => 1
							[level_2] => 1
							[level_1] => 1
							[level_0] => 1
							[delete_posts] => 1
							[delete_published_posts] => 1
						)

				)

			[contributor] => WP_Role Object
				(
					[name] => contributor
					[capabilities] => Array
						(
							[edit_posts] => 1
							[read] => 1
							[level_1] => 1
							[level_0] => 1
							[delete_posts] => 1
						)

				)

			[subscriber] => WP_Role Object
				(
					[name] => subscriber
					[capabilities] => Array
						(
							[read] => 1
							[level_0] => 1
						)

				)

		)

	[role_names] => Array
		(
			[administrator] => Administrator
			[editor] => Editor
			[author] => Author
			[contributor] => Contributor
			[subscriber] => Subscriber
		)

	[role_key] => wp_user_roles
	[use_db] => 1
)
*/

Заметки

  • Global. WP_Roles. $wp_roles WordPress role management object.

Список изменений

С версии 4.3.0 Введена.

Код wp_roles() WP 6.5.2

function wp_roles() {
	global $wp_roles;

	if ( ! isset( $wp_roles ) ) {
		$wp_roles = new WP_Roles();
	}
	return $wp_roles;
}
1 комментарий
    Войти