Домой Wp-Recall WP-Recall: Проблемы и решения Редактирование публикации
7ответ(ов) в теме
pvaDmY
не в сети 19 часов
На сайте с 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
не в сети 38 минут
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16984
2
12:05

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

0
pvaDmY
не в сети 19 часов
На сайте с 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
не в сети 38 минут
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16984
4
16:24

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

0
pvaDmY
не в сети 19 часов
На сайте с 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
не в сети 1 день
На сайте с 04.12.2019
Участник
Тем 19
Сообщения 79
6
11:58

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

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

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

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

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