Получение длительности прикрепленного видео-ролика вложения
С целью получить отформатированную длительность ролика из поста, попытался использовать следующую конструкцию:
<?php $parsed = parse_url( wp_get_attachment_url( $attachment->ID ) ); $file = dirname( $parsed['path'] ) . '/' . rawurlencode( basename( $parsed['path'] ) ); $metadata = wp_read_video_metadata( $file ); echo $metadata[' length_formatted ']; ?>
Не помогло
В чем ошибка? Как можно ее поправить?
Так:
$file_id = 9923; // ID файла в библиотеке $file_meta = wp_get_attachment_metadata( $file_id ); // получаем все метаданные по нему var_dump($file_meta); // Выведет для видео файла (у аудио похоже, но больше, а у фото вообще много данных) array(9) { ["bitrate"]=> int(227711) ["filesize"]=> int(281841) ["mime_type"]=> string(15) "video/quicktime" ["length"]=> int(10) // Время в секундах ["length_formatted"]=> string(4) "0:10" // Отформатированное время ["width"]=> int(426) ["height"]=> int(426) ["fileformat"]=> string(3) "mp4" ["dataformat"]=> string(9) "quicktime" }Ну а как из массива извлечь нужные данные ты знаешь. Вопросы, пожелания, предложения?))
Мы СЕМИМИЛЬНЫМИ шагами приближаемся к ИСТИНЕ!
вывело
string(0) ""
Я чувствую, что еще одно последнее сказанье - и всё может получиться
вы тупите...
если вы используете функцию wp_get_attachment_metadata() то в нее нужно передавать $attachment->ID а на path
Грубо, но справедливо
Готовый код не смог применить. Особенно echo var_dump порадовало...
Проблема решена.
Спасибо всем, кто вольно или невольно помог в этом
Вы - лучшие!
Видимо проблема в переменной $file.
$file = get_attached_file($attachment->ID);