Право пользователя WordPress edit_dashboard

Право пользователя WordPress настраивать консоль (edit_dashboard)

Настраивать консоль

Начиная с версии 2.5 WordPress добавил в свою систему разграничения доступа право пользователя “edit_dashboard” (Настраивать консоль). Для чего служит это право пользователя? Может его отсутствие запрещает авторизованному пользователю исключать из своей консоли виджеты, которые ему не нужны? Наверняка вы уже использовали ссылку “Настройки экрана” (Screen Options) в верхней части консоли WordPress? Ответ – определённо “Нет”.
Если пользователю предоставлено право “edit_dashboard” он обладает доступом к параметрам настройки виджетов, которые включены в его консоль. Если у виджета есть параметры, позволяющие настраивать/изменять его работу или внешний вид, то такой пользователь может изменять эти параметры. Проверим? Перейдите на экран консоли WordPress и переместите указатель мыши к верхнему правому углу одного из виджетов. Давайте возьмём для примера виджет “Блог WordPress”, который доступен всем без исключения авторизованным пользователям. Видите небольшую направленную вниз стрелку? Как вам наверняка уже известно, эта стрелка позволяет свернуть или развернуть окно виджета. Переместите указатель мыши влево от этой стрелки. Если вы “Администратор”, то вы обладаете правом “edit_dashboard”, и вы увидите, как там появилась ссылка “Настроить” (Configure).
Найдите эту ссылку на расположенной ниже картинке:
Право пользователя WordPress edit_dashboard

Право пользователя WordPress edit_dashboard


Если щёлкнуть по ссылке “Настроить” виджета “Блог WordPress”, то появится его настроечная панель:
Панель настройки виджета

Панель настройки виджета


Чтобы окончательно убедиться в правильности моих выводов о назначении права пользователя “edit_dashboard” я просканировал все входящие в пакет установки WordPress PHP-файлы на вхождение слова “edit_dashboard”. Найшлось только одно вхождение – строка #142 файла ‘wp-admin/includes/dashboard.php’. Для вашего удобства я привожу ниже фрагмент кода из этого файла:

138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
 function wp_add_dashboard_widget( $widget_id, $widget_name, $callback, $control_callback = null ) {
	$screen = get_current_screen();
	global $wp_dashboard_control_callbacks;
 
	if ( $control_callback && current_user_can( 'edit_dashboard' ) && is_callable( $control_callback ) ) {
		$wp_dashboard_control_callbacks[$widget_id] = $control_callback;
		if ( isset( $_GET['edit'] ) && $widget_id == $_GET['edit'] ) {
			list($url) = explode( '#', add_query_arg( 'edit', false ), 2 );
			$widget_name .= ' <span class="postbox-title-action"><a href="' . esc_url( $url ) . '">' . __( 'Cancel' ) . '</a></span>';
			$callback = '_wp_dashboard_control_callback';
		} else {
			list($url) = explode( '#', add_query_arg( 'edit', $widget_id ), 2 );
			$widget_name .= ' <span class="postbox-title-action"><a href="' . esc_url( "$url#$widget_id" ) . '" class="edit-box open-box">' . __( 'Configure' ) . '</a></span>';
		}
	}

По-умолчанию право пользователя “edit_dashbord” включено только в роль “Администратор” (Administrator).

If you wish to read this post in English open this link.

Tags: