WordPress как на ладони

Получение длительности прикрепленного видео-ролика вложения

С целью получить отформатированную длительность ролика из поста, попытался использовать следующую конструкцию:

<?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 ']; 
?>

Не помоглоsad

В чем ошибка? Как можно ее поправить?

0
pervect
6.8 лет назад 13
  • 0
    campusboy4742 www.youtube.com/c/wpplus

    Так:

    $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"
    }

    Ну а как из массива извлечь нужные данные ты знаешь. Вопросы, пожелания, предложения?))

    pervect 6.7 лет назад

    Мы СЕМИМИЛЬНЫМИ шагами приближаемся к ИСТИНЕ!

    <?php 
    	$file_id = get_attached_file($attachment->ID); // ID файла в библиотеке
    $file_meta = wp_get_attachment_metadata( $file_id ); // получаем все метаданные по нему
    echo var_dump($file_meta);
    ?>

    вывело

    string(0) ""

    Я чувствую, что еще одно последнее сказанье - и всё может получиться

    Molotow 6.7 лет назад

    вы тупите...
    если вы используете функцию wp_get_attachment_metadata() то в нее нужно передавать $attachment->ID а на path

    campusboy 6.7 лет назад

    Грубо, но справедливо smile Готовый код не смог применить. Особенно echo var_dump порадовало...

    pervect 6.7 лет назад

    Проблема решена.

    Спасибо всем, кто вольно или невольно помог в этом smile
    Вы - лучшие!

    Комментировать
  • 0

    Видимо проблема в переменной $file.
    $file = get_attached_file($attachment->ID);

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация