@full-size

Ограничение на редактирование и удаление медиафайлов в вордпресс. Как сделать?

У меня стоит плагин User Role Editor в котором я для пользователей с правами "Автор" разрешил загрузку медиафайлов.

Допустим автор пишет пост, вставляет туда медиафайл. После этого отправляет пост админу на утверждение. После того как админ опубликует данный пост, то пользователь с правами "Автор" не может этот пост редактировать или удалять (в моём случае).

Однако, если он зайдет в медиа, то у него открыты права на редактирование и удаление медиа, которые привязаны к этому уже опубликованному посту. В плагинах ролей такой функции на ограничение нет. Т.е. я хочу обезопасить себя от авторов, которые, после получения оплаты за статью могут напакостить и удалить фото, которые они загружали к публикации. Надеюсь смысл моей задумки понятен.

Как в functions.php ограничить права "Автора" (или всех кроме админа) на редактирование и удаление медиа, которые привязаны к уже опубликованному посту?

На одном из форумов мне предложили решение, но оно не работает:

// Права доступа на удаление файлов вложеныyх в посты со статусом "Опубликовано" 

add_action('delete_attachment', 'DontDeleteMedia', 11, 1);
function DontDeleteMedia($postID){
	$post_image = get_post( $postID );                  // инфа про изображение // получаем отсюда страницу вложения
	$post_post  = get_post( $post_image->post_parent ); // Инфа о странице вложения // получаем отсюда статус публикации
	if (!current_user_can('manage_options') && $post_post->post_status == 'publish' && +($post_image->post_parent) !== 0 ) { // роли 
		exit('Дальнейшие действия с файлом по разрешению администратора');
	}
}


Спасибо.
  • Вопрос задан
  • 206 просмотров
Пригласить эксперта
Ответы на вопрос 1
azerphoenix
@azerphoenix
Java Software Engineer
Похожая тема поднималась здесь:
https://wordpress.stackexchange.com/questions/1287...
Вдруг поможет вам...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы