Intereting Posts
Управление ресурсом через REST API переписать правила и зафиксировать Как создать виджет с формой отправки в интерфейсе как создать индикатор выполнения в текстовой форме wordpress 7 или другом плагине для установки индикатора выполнения в cf7 Где подходящее место для хранения пользовательских изображений? Виджет не активируется Есть ли способ оптимизировать функцию, которая используется для возврата данных в ajax-вызов? Авто-создать довольно постоянную ссылку для кучи сообщений Просмотр сообщений по тегам на странице WP_Query не возвращает некоторые дочерние страницы, даже если база данных показывает их WordPress и $ _GET Params Получение пути к загруженному прикрепленному изображению после загрузки Audio TAG Не используется MediaElement Когда страница загружается через ajax wordpress str_replace содержание с тегом Включение угловых кронштейнов в предварительные разделы

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

Я хотел бы установить группу пользователей (называемую «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 "позволяют пользователям редактировать только одну страницу (с ее дочерними страницами) без плагина"