На прошлой неделе WPBeginner выпустил роль модерации комментариев в каталог плагинов WordPress. Плагин выполняет простую работу по созданию единственной роли пользователя, которая может только модерировать комментарии.
Наиболее распространенный вариант использования такой роли – называемый «Модератор комментариев WPB» в админке – предназначен для более крупных команд, которым требуется отдельная учетная запись пользователя для выполнения модерации. WordPress не имеет встроенного способа справиться с этим. Для одной из самых расширяемых CMS на планете это та область, где ей всегда не хватало.
Это почти как вчера. На самом деле, это было 10 лет назад, когда я наткнулся на билет (тогда) годовой давности для ошибки, которая стала переломным моментом в проекте, над которым я работал. Мне нужно было предоставить определенным пользователям на сайте WordPress разрешение модерировать комментарии, но не разрешать им редактировать другие вещи в админке.
Некоторые из вас могут подумать, что moderate_comments возможности должны позволять это. И вы были бы правы, полагая, что так и должно быть . Однако это совсем не так. Чтобы пользователи могли редактировать комментарии, они также должны иметь возможность редактировать сообщения. Это немного запутанный беспорядок, если вы глубоко погрузитесь в основной код только для того, чтобы найти жестко запрограммированные проверки разрешений, которые невозможно переопределить, не переписав большие фрагменты кода.
С тех пор я сталкивался с одной и той же проблемой несколько раз. Я создал несколько хитроумных одноразовых обходных решений для конкретных проектов, но они никогда не были идеальными. И я никогда не был заинтересован в поддержке плагина, который решал бы эту проблему, потому что я знал, что это может быть немного неудобно.
Хотя я видел несколько других решений, каждое из которых в корне ошибочно, я рад видеть, что кто-то решает эту проблему, не раскрывая проблем с разрешениями.
Плагин WPBeginner Comment Moderation Role работает так же, как я думаю, что такой плагин должен работать, по крайней мере, с препятствиями, которые WordPress в настоящее время ставит на пути.
Администраторы сайта могут добавить модератора комментариев WPB к любой учетной записи через экран администратора управления пользователями. Процесс такой же, как добавление или удаление любой другой роли в WordPress.
После добавления роли пользователю этот пользователь может получить доступ к экрану администратора комментариев. Они также могут видеть как панель инструментов, так и свой собственный профиль в админке. За исключением случаев, когда им добавлена другая роль через другой плагин, у них не будет разрешения на доступ к другим экранам.
Из-за жестко заданной проверки разрешений в ядре WordPress плагин должен создать свой собственный экран управления комментариями. Большинство пользователей этого не заметят, потому что все это под капотом. Плагин добавляет его только при необходимости, и он не выглядит и не работает иначе, чем экран по умолчанию. Это просто большая работа над кодом и дублирование, чтобы исправить ошибку в WordPress, о которой сообщалось 11 лет назад.
Пока основная проблема не будет решена в ядре WordPress, лучшим плагином для этой работы будет Comment Moderation Role. После тщательного тестирования я могу сказать, что теперь он прочно уместился в моем наборе инструментов и готов вытащить, когда это необходимо для проекта.
Поскольку до крайнего срока соблюдения GDPR ЕС осталось всего 178 дней , многие владельцы сайтов…
Команда Gutenberg создаст станцию тестирования удобства использования в WordCamp US, где посетители смогут принять участие…
Сегодня компания 10up опубликовала предварительную версию своего плагина Distributor , нового решения для синдикации контента…
На этой неделе был выпущен Gutenberg 1.8 с несколькими заметными улучшениями, которые предоставят разработчикам плагинов…
На этой неделе был выпущен Gutenberg 15.5 с новыми функциями и улучшениями возможностей полнофункционального редактирования…
DesktopServer выпустил версию 3.8.4 своего программного обеспечения для локальной разработки. Эта версия включает в себя…