Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: WP получить длительность ролика
цитата
29/05/17 в 10:00
 pervect
ЗАДАЧА: получить на страницах архивов/категорий/поиска и т.п. в описании поста, содержащего видео, указание длительности этого видео: Код:
duration: 1:15:47

решение: понимаю, что каким-то образом надо задействовать wp_read_video_metadata() и length_formatted , но вот каким именно - не могу сообразить.

Помогите, пожалуйста!
цитата
29/05/17 в 11:29
 dizziness
а что , так не получается, как в доке написано?

Код:
<?php
$file = 'path/to/movie.mp4';
$metadata = wp_read_video_metadata( $file );
echo $metadata[' length_formatted '];

//и для общего интереса
var_dump($metadata);
цитата
29/05/17 в 11:56
 pervect
dizziness писал:
а что , так не получается, как в доке написано?

Код:
<?php
$file = 'path/to/movie.mp4';
$metadata = wp_read_video_metadata( $file );
echo $metadata[' length_formatted '];

//и для общего интереса
var_dump($metadata);


В этой конструкции все упирается в path/to/movie.mp4
wp_get_attachment_url() требует пост ИД...

В общем, напрямую не получается
цитата
29/05/17 в 12:01
 dizziness
pervect писал:
wp_get_attachment_url() требует пост ИД...


ну так дай ему пост id, в чем проблема то? нету post id ?


и вот еще что есть.

Код:
get_attached_media( $type, $post_id )
цитата
29/05/17 в 12:26
 pervect
dizziness писал:
ну так дай ему пост id, в чем проблема то? нету post id ?


и вот еще что есть.

Код:
get_attached_media( $type, $post_id )


Так что ли?:
Код:
<?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 '];
?>
цитата
29/05/17 в 12:38
 dizziness
ну почему $attachment->ID то, если просят post_id ?

примерно так, мне негде проверять сейчас, но думаю логика понятна.


Код:

$video = get_attached_media('video', get_the_ID() );
var_dump($video);



естественно это должно быть внутри Loop-а

p.s. url файла и path файла на сервере, это все таки разные вещи. зачем ты урл собираешь?

Код:

wp_read_video_metadata( $file );

$file
(string) (required) Path to file.
цитата
29/05/17 в 17:27
 pervect
Что-то я туплю...

Совсем... facepalm.gif
цитата
30/05/17 в 12:55
 dizziness
pervect: так не получилось что-ли? icon_cool.gif
цитата
30/05/17 в 13:20
 pervect
dizziness писал:
pervect: так не получилось что-ли? icon_cool.gif
Нет icon_sad.gif
Сдыхает на этом месте цикл - и всё.
цитата
30/05/17 в 14:19
 dizziness
pervect: ну напиши мне в аську, посмотрим, вылечим. icon_wink.gif
цитата
30/05/17 в 23:04
 pervect
Да пребудет с тобой сила, брат! smail54.gif


Эта страница в полной версии