Как отобразить больше тегов ID3 аудиофайла в WordPress


При добавлении аудиофайла в WordPress он автоматически берет название, альбом, исполнителя из тегов ID3 в файле mp3. Он использует их на странице воспроизведения и вложения аудиофайлов.

Как я могу заставить WordPress также использовать теги комментариев или описания контента?

Причина, по которой это необходимо, заключается в том, чтобы иметь возможность создать пользовательский шаблон списка воспроизведения WordPress, в котором будет отображаться название трека +Комментарий/Описание.

Например, если мы у меня был mp3-файл с тегом заголовка Первая глава и комментарием/описанием: Введение в WordPress, я хотел бы, чтобы список воспроизведения отображал:

Глава первая: Введение в WordPress

Я понимаю, что могу изменить тег ID3 заголовка, чтобы он содержал эту информацию, но я бы предпочел фильтр или функцию в WordPress, которая позволяет мне делать это без необходимости изменять теги ID3 исходного mp3-файла.

И хотя я мог бы поиграть со встроенной подписью WordPress поле для аудиофайлов, я также хочу избежать этого, потому что его нужно создавать вручную, в то время как я мог бы автоматически заполнять теги ID3 с помощью любого соответствующего программного обеспечения.

Author: jsmod, 2019-02-06

1 answers

Итак, через два месяца после публикации моего вопроса я наконец нашел ответ! Он основан на коде, который я нашел здесь на WordPress StackExchange, который использовался в ответе на другой вопрос. :)

Я только что добавил следующее в начало своего пользовательского плейлиста плагина (который также основан на коде из ответа здесь):

// Add id3 tags as meta keys
add_filter( 'wp_get_attachment_id3_keys', $callback_id3 = function( $fields ) 
{
    $fields['title'] = 'Track Title';
    $fields['comments'] = 'Comments';
    $fields['filesize'] = 'File Size';
    return $fields;
} );

А затем в шаблоне списка воспроизведения я только что добавил {{ data.meta.title }}, {{ data.meta.comments}}, и {{ data.meta.filesize}} где я хотел, чтобы они были показаны.

В причина, по которой я добавил title, заключается в том, что по умолчанию {{ data.title }} показывает имя файла без расширения вместо фактического названия трека, записанного в тегах ID3, и {{ data.meta.title }} дал мне фактическое название тега ID3.

Стоит отметить, что мне было трудно с тегом comments, потому что везде, где я смотрел на теги комментариев ID3 (документация, массив метаданных wp и т. Д.), Он был написан в единственном числе (просто comment). Но затем я проверил getID3 и обнаружил, что он использует форму множественного числаcomments. Таким образом, добавление s наконец-то показал мои комментарии ID3.

Я все еще пытаюсь понять, как заставить filesize отображаться в более удобочитаемом виде (похоже, для меня это вопрос проб и ошибок). Если я не смогу понять это, я спрошу здесь.

Спасибо сообществу здесь за публикацию всех различных ответов и примеров кода - я бы не смог разобраться в этом без ресурсов здесь. Так благодарен:)

 3
Author: jsmod, 2019-04-03 19:25:46