Intereting Posts
template_include (переопределение шаблонов плагинов по умолчанию через текущую тему) Невозможно редактировать главную страницу сайта Есть ли Галерея изображений, которая загрузит все мои опубликованные изображения, например, сетку изображений Twitter? Как создать шаблон wordpress без использования какой-либо страницы Изменить мое ключевое слово, но все еще не можете войти add_action customize_register не работает Можно добавить селектор «Шаблон» к сообщениям? Проблема с содержимым – без загрузки Не удается найти кнопку «Добавить новую» для тем в многопользовательском режиме Почему я не могу получить доступ к моей интрасети LDAPS с помощью NADI? Не удалось войти в систему как администратор Возможно ли обычное поведение при асинхронной загрузке? Различные Permastruck между запросом Ajax и нормальным запросом Пользовательская переименование заголовка страницы Диспетчер изображений WordPress Media – создание множества и множество нечетных изображений

позволяют пользователям редактировать только одну страницу (с ее дочерними страницами) без плагина

Я хотел бы установить группу пользователей (называемую «xxx»), чтобы разрешить редактировать только одну страницу с идентификатором 17 с ее подстраницами. У меня есть код для функции functions.php, но работающая как «xxx» может видеть и редактировать все страницы, кроме 17. Как мне это изменить? ('xxx' использует cms-файл для просмотра дерева страниц, поэтому он должен работать вместе.)

add_action( 'pre_get_posts' ,'exclude_this_page' ); function exclude_this_page( $query ) { global $current_user; if(is_array($current_user->roles)) { $page = $current_user->user_login; $test = get_page_by_title( $page ); $parent = $test->ID; $remove = array($test->ID); $test2 = get_pages('child_of=17&parent=17&sort_column=menu_order&depth=1'); $childs=array(); foreach($test2 as $page){ $childs[] = $page->ID; } $page_ids = get_all_page_ids(); $exclude_page_ids = array_diff($childs, $remove); } if(in_array('xxx', $current_user->roles)) { global $pagenow; if( 'edit.php' == $pagenow && 'page' == $query->get('post_type') ) $query->set( 'post_parent','17' ); $query->set( 'post__not_in', $exclude_page_ids ); return $query; } } 

Solutions Collecting From Web of "позволяют пользователям редактировать только одну страницу (с ее дочерними страницами) без плагина"