Сегодня я впервые работаю с API ролей и возможностей и использую отличный плагин Members. Поработав какое-то время, я заметил, что возможность «редактировать страницы» делает две вещи:
- Разрешить пользователю создать новую страницу
- Разрешить пользователю редактировать существующие страницы
Я пытаюсь разделить эту способность на две части. Я хочу, чтобы мой пользователь:
- Невозможно создать новые страницы
- Разрешить пользователю редактировать существующие страницы
Я хочу написать код для моей темы, который позволит это сделать. Я могу очень легко создать новую способность. Затем задача состоит в том, чтобы заставить WordPress реагировать на это соответствующим образом.
Любые мысли будут оценены.
Да, это действительно проблема. Планируется специальная возможность create_posts:
http://core.trac.wordpress.org/ticket/16714
Спасибо за ссылку, жаль, что ее сейчас нет. В качестве временного решения я отфильтровал соответствующие меню из меню администратора и скрыл определенные кнопки с помощью CSS. Не идеально, но пока работает.
Это не верно. Он сломается после следующего обновления WordPress.
toscho будет ли в следующем релизе возможность создавать посты? Во всяком случае, это работает для того, что мне нужно, в текущей версии. У вас есть лучший/более чистый способ сделать это в текущей версии?
Если вы прочтете тикет, на который ссылается @scribu, вы увидите, что эта возможность уже есть в WordPress 3.5.
toscho Я использую инструмент просмотра ролей и не вижу способа запретить пользователю создавать новые страницы. Если я назначу права публикации, то он сможет создавать новые страницы. У вас есть подсказка о том, как я блокирую роль от создания новых страниц с доступной теперь возможностью. Просто небольшой указатель было бы здорово, спасибо
Привет, я некоторое время изучал это, придумал следующий хак. В wp-admin/new_post.php добавьте следующее после строки wp_die:
затем в wp-admin/menu добавьте условие для отображения подменю добавления страницы в admin. Строка обычно присутствует, но не включается в оператор if.
Мне все еще нужно выяснить, как удалить кнопку «Добавить новую» на страницах редактирования, однако пользователи с правами на публикацию теперь могут редактировать существующие страницы, но не могут создавать новые страницы. Если они нажимают кнопку новой страницы, они получают предупреждение и не могут двигаться дальше. Посты не затрагиваются. Тот же самый код можно легко применить для предотвращения создания новых сообщений с небольшим редактированием.
Надеюсь, это поможет