Домой Wp-Recall WP-Recall: Проблемы и решения Редактирование публикации
8ответ(ов) в теме
pvaDmY
не в сети 2 недели
На сайте с 18.12.2023
Участник
Тем 1
Сообщения 3
1
00:33
Версия WP-Recall: 16.26.12

Здравствуйте!
После обновления на версию 16.26.12 столкнулись с проблемой, что пользователь с правами администратора не может редактировать публикацию в фронтенд. Кнопка редактирования есть, после ее нажатия перекидывает в редактирование поста, однако при нажатии Опубликовать выходит сообщение "Вы не можете редактировать эту публикацию".
В настройках плагина в пункте "Фронтенд редактирование" стоит галочка для Администраторы.
Сравнил новый pluginswp-recalladd-onpublicpostfunctions-ajax.php и старый и оказалось, что в строке 168 появился код:

	if(!current_user_can('author')){
		wp_send_json( [ 'error' => __( 'Вы не можете редактировать эту публикацию', 'wp-recall' ) ] );
	}

То есть, правильно ли я понял, что теперь только автор поста может его редактировать?
Удалить эту часть или где-то появилась настройка, которая это отключает?

0
Андрей CS
не в сети 4 часа
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16986
2
12:05

ну по идее тут проверяются права на роль Автора вообще, а не к конкретной публикации
может вы как то правили права на сайте и для админа что то на права автора наложилось

0
pvaDmY
не в сети 2 недели
На сайте с 18.12.2023
Участник
Тем 1
Сообщения 3
3
15:24

Добавил роли Администратор дополнительную роль Автор и ошибка ушла.
Но как-то все-таки не логично получается, у роли Администратор же полные права и должно все работать без нагромождения дополнительных ролей. Поидее в этом куске кода тогда нужно добавить проверку на Администратора, но она то идет чуть ниже:

	if($data_post_id){
		if(!apply_filters('rcl_is_can_preview_post', false, $data_post_id)){
			wp_send_json( [ 'error' => __( 'Вы не можете редактировать эту публикацию', 'wp-recall' ) ] );
		}
	}

В этой части, как я понял, как раз и идет проверка на Администратора и автора поста. Зачем тогда еще одна проверка на роль Автора? Как-то избыточно получается

0
Андрей CS
не в сети 4 часа
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16986
4
16:24

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

0
pvaDmY
не в сети 2 недели
На сайте с 18.12.2023
Участник
Тем 1
Сообщения 3
5
23:33

Судя по логике, что кнопку редактирования поста могут видеть Автор, Редактор или Администратор (смотря какие настройки установлены в пункте "Фронтенд редактирование"), то сделал у себя вот так:

	if(!current_user_can('author') && !current_user_can('administrator') && !current_user_can('editor')){
		wp_send_json( [ 'error' => __( 'Вы не можете редактировать эту публикацию', 'wp-recall' ) ] );
	}

Просто получается, что привязка current_user_can('author') идет к конкретной роли, а не к правам и Администратор не обязательно Автор, как и Редактор не обязательно Автор

0
svetla
не в сети 3 часа
На сайте с 04.12.2019
Участник
Тем 19
Сообщения 79
6
11:58

Андрей CS сказал(а)
ну по идее тут проверяются права на роль Автора вообще, а не к конкретной публикации
может вы как то правили права на сайте и для админа что то на права автора наложилось

Та же самая проблема, Андрей после обновления.

0
BackePol
не в сети 2 месяца
На сайте с 01.04.2024
Участник
Тем 2
Сообщения 3
7
17:09

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

0
Burjyi
не в сети 1 день
На сайте с 05.11.2017
Участник
Тем 1
Сообщения 4
8
12:26

У меня теперь у любого пользователя при нажатии Опубликовать выходит сообщение "Вы не можете редактировать эту публикацию". Исчезает ошибка только если конкретному пользователю сменить роль на автора. Изменение роли всех новых пользователей на автора помогло лишь частично - теперь после регистрации они могут публиковать посты, но гости по прежнему не могут, хотя до обновления той проблемы не было.

0
Вы не имеете права на публикацию сообщений в этой теме