- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Сайт на WP, есть каталог компаний. 1 компания -- 1 страница (page).
Нужно как-то разрешить определённому пользователю редактировать страницу его компании.
Перегуглил множество способов, но в основном они предлагают что-то типа "поместить аккаунт в группу Editors и запретить редактировать все остальные страницы" (например, как-то так). Но в таком случае пользователь видит все страницы в админке, это не очень хорошо.
Плагины смог найти тоже только дающие/ограничивающие доступ по ролям, тоже не очень.
Подойдёт решение плагином, либо кодом.
Есть идеи?
"поместить аккаунт в группу Editors
Авторы имеют доступ только к своим постам.
Даже если они и будут видеть названия других (тут не помню) - отредактировать они не смогут.
Для более расширенной правки возможностей юзеров используй плаги. Напр URE (рекомендую не править дефолтные роли, а копировать их возможности в свои).
Но вообще для многопользовательских систем нужно использовать спец плагины для управления юзерами. Тогда они вообще ничего не смогут, кроме разрешённого, даже попасть в админку.
Сам искал такое решение, чтобы показывать автору только его записи и вот код
<?php
function mypo_parse_query_useronly( $wp_query ) {
if ( strpos( $_SERVER[ 'REQUEST_URI' ], '/wp-admin/edit.php' ) !== false ) {
if ( !current_user_can( 'activate_plugins' ) ) {
add_action( 'views_edit-post', 'child_remove_some_post_views' );
global $current_user;
$wp_query->set( 'author', $current_user->id );
}
}
}
add_filter('parse_query', 'mypo_parse_query_useronly' );
/**
* Remove All, Published and Trashed posts views.
*
* Requires WP 3.1+.
* @param array $views
* @return array
*/
function child_remove_some_post_views( $views ) {
unset($views['all']);
unset($views['publish']);
unset($views['trash']);
unset($views['draft']);
unset($views['pending']);
return $views;
}
?>
И в этом https://wp-kama.ru/question/skryt-ot-avtora-prosmotr-chuzhih-kommentariev ответе еще есть код, который не показывает чужие комментарии.
P.s И плагином по ролям пользователей,можно скрыть ненужные вкладки в меню, виджеты и.т.д.