@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('Дальнейшие действия с файлом по разрешению администратора');
	}
}


Спасибо.
  • Вопрос задан
  • 33 просмотра
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

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

Войти через TM ID
Похожие вопросы
AwardWallet Пермь
от 45 000 до 60 000 руб.
While Web Production Киев
от 5 000 до 15 000 грн.
Dart Simple Санкт-Петербург
от 120 000 до 150 000 руб.
20 авг. 2018, в 21:21
30000 руб./за проект
20 авг. 2018, в 20:46
5000 руб./за проект
20 авг. 2018, в 20:38
700 руб./в час