2010-05-09 2 views
0

Дело в том, что я использую «Редактор роли пользователя», и у меня есть одна группа пользователей, которая может читать и редактировать опубликованные страницы. Теперь я добавлю все страницы на этом сайте, и у нас будет несколько пользователей, которым нужно будет иметь только одну страницу, которую они могут редактировать, поэтому мне нужно, чтобы эта страница меняла «автора страницы» этому пользователю. Если вы не знаете, , когда пользователь имеет «Редактировать опубликованные страницы», они могут редактировать только страницы, на которых они указаны в качестве автора.Как изменить автора страницы в wordpress, если у пользователя нет разрешения на публикацию страниц?

Проблема я могу только сделать это, перейдя в PHPMyAdmin и изменяя поле page_author к идентификатору этого пользователя, потому что группа пользователей, как я сказал, может только читать и редактировать опубликованные страницы. Вот почему я не могу изменить автора страницы на странице «Редактировать страницу» для пользователя из этой группы пользователей.

Так что мой вопрос: кто-нибудь знает какое-либо решение этой проблемы, которое не связано с тем, что я собираюсь перейти на phpmyadmin и изменить идентификатор для page_author?

ответ

2

Вы можете попытаться временно предоставить этим пользователям возможность редактировать все страницы (я думаю, что это что-то вроде «edit_others_pages»), создавая все ваши страницы и назначая их правильному пользователю, а затем отменяя эту возможность.

+0

Хммм забыл об этом ... :) Я имел мои роли выставиться так я только думал о том, что делать тогда, и единственное решение было вручную изменить его на идентификатор пользователя через phpmyadmin ... :)) Это должно работать намного лучше. Благодаря! – Gavrisimo

0

Я нашел хак, который позволил мне изменить автора страницы для всех пользователей. Для меня я хотел изменить автора всех моих страниц на пользователя, у которого есть пользовательская роль (созданная плагином Роли).

Для этого я пошел на страницы, выбрал их все и нажал массовое редактирование. Я просмотрел раскрывающийся список Author, используя инструменты chrome dev, а затем отредактировал один из вариантов выбора. Измените значение выбора на идентификатор пользователя, которому вы хотите взять собственность ** (вы также можете изменить внутренний html, чтобы он стал более понятным, что вы делаете), а затем щелкните дальше редактирования.

Теперь вы можете перейти к полю, которое вы изменили, а затем нажать обновление, и право собственности должно измениться.

Я не уверен, какие ограничения существуют в том, какие ограничения у пользователя должны быть для этого, однако это сработало для меня.

**, чтобы найти это пойти для пользователей и наведите курсор редактирования на пользователя, и он будет отображаться в URL (так же, как поиск почтовых идентификаторов и т.д.)

EDIT:

Вместо того чтобы делать это Я редактировал ядро ​​WP. Вероятно, есть лучший способ сделать это, но я отредактировал класс-wp-posts-list-table.php, в строке 775 он устанавливает $ users_opt как параметры для более позднего вызова $ authors = wp_dropdown_users ($ users_opt). Если вы закомментируете параметр «кто» => «авторы», тогда WP будет перечислять ВСЕ пользователей (включая подписчиков администратора и т. Д.).

Если вы проверите документацию, вы заметите, что параметр «кто» принимает только автора или всех на данный момент. Я предполагаю, что позже он сможет использовать другие типы ролей.

1

проверка страниц (в то время как вы находитесь на «Все страницы») и выберите массовое изменение из выпадающего списка и изменить автора ..

Смежные вопросы