Intereting Posts
как добавить галочку для определения роли пользователя при регистрации wp Пользовательский контент form $ _post значение действия усекается после того, как оно проходит через две формы Категория slug не отображается для пользовательского типа сообщения Улучшите производительность WordPress на большом количестве сообщений Использование шаблона страницы без страницы Как структурировать персонализированные типы сообщений с разделяемыми категориями? Получение текста тизера без переопределения глобальных переменных Как создать пользовательское поле для выбора изображения? Отображение продукта Woocommerce в файле шаблона Одна из причин изменения GUID Функция the_excerpt, не отображающая изображение Отображение пользовательской таксономии по алфавиту start.js: 45TypeError: недостаточно аргументов в Safari Как WordPress выбирает, какой файл перевода использовать?

Удалять страницу вложений только для аудиоресурсов

Ниже приведен код для перенаправления вложения, но как насчет конкретных типов носителей, таких как аудио или видео?

function sar_attachment_redirect() { global $post; if ( is_attachment() && isset($post->post_parent) && is_numeric($post->post_parent) && ($post->post_parent != 0) ) { wp_redirect(get_permalink($post->post_parent), 301); // permanent redirect to post/page where image or document was uploaded exit; } elseif ( is_attachment() && isset($post->post_parent) && is_numeric($post->post_parent) && ($post->post_parent < 1) ) { // for some reason it doesnt works checking for 0, so checking lower than 1 instead... wp_redirect(get_bloginfo('wpurl'), 302); // temp redirect to home for image or document not associated to any post/page exit; } } add_action('template_redirect', 'sar_attachment_redirect',1); 

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

 $filetype = wp_check_filetype('image.jpg'); echo $filetype['ext']; // will output jpg 

то вы можете иметь что-то вроде этого

 $file_url = wp_get_attachment_url( $file_id ); $filetype = wp_check_filetype( $file_url ); switch ($filetype) { case 'image/jpeg': case 'image/png': case 'image/gif': return // do whatever you want break; case 'video/mpeg': case 'video/mp4': case 'video/quicktime': return // do whatever you want break; case 'text/csv': case 'text/plain': case 'text/xml': return // do whatever you want break; default: return // do whatever you want } 

поэтому в вашей функции вы можете сначала проверить свой тип файла вложения, а когда это видео, вы можете сделать свой код перенаправления.

Чтобы получить больше информации:

1- https://codex.wordpress.org/Function_Reference/get_post_mime_type

2- https://codex.wordpress.org/Function_Reference/wp_check_filetype

Надеюсь, это сработает для вас.