Intereting Posts
Получайте обновленное значение мета после публикации или публикации (пользовательский тип сообщения) с помощью hook Может ли пользователь отображаться или скрываться в зависимости от состояния входа пользователя в систему? Получить общее имя таксономии для пользовательского типа сообщения Добавление пользовательского css в тему в зависимости от того, зарегистрирован ли пользователь admin или нет Различные шаблоны поиска для разных типов сообщений проблема при загрузке вложения в пользовательский каталог Могу ли я установить WordPress в подкаталог, а затем указать мой URL-адрес в подкаталог, когда я готов идти вживую? wp-admin AJAX с Fetch API выполняется без пользователя Woocommerce – Получить соответствующую зону доставки недостаточные разрешения; кодирование действия для плагина, управляемое пользовательскими возможностями Что может вызвать POST для wp-admin / async-upload.php для возврата JSON> и <HTML? Как перенести дочерний узел из мультисайта dev в многопроцессорный получить заголовки последнего сообщения авторов Создание страницы «Теги» с опцией поиска, вместо использования виджета Включить уведомление об обновлении, отключить обновления.

Как добавить WordPress Audio Player в качестве аудио в аудиозаписях?

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

Я создал несколько исправлений для проблемы, используя the_content дважды в одном цикле и удалив все, кроме аудиоплеера, используя css в первом «the_content».

Итак, основа моего макета выглядит примерно так:

the_post_thumbnail(); the_content(); (this I have given a class and display: none; for everything but the audio player) the_title(); the_excerpt(); the_content(); 

Это, однако, не работает, так как в некоторых ситуациях макет разбивается, и текст из сообщения появляется в зависимости от того, когда я вставляю аудио на страницу. Я хотел бы найти более правильное решение для этого, а не все гетто в моем коде.

Цените всю помощь, данную 🙂 Michael

РЕДАКТИРОВАТЬ

Этот код создает раскрывающийся список всех загружаемых медиафайлов, которые являются аудио:

  add_action("admin_init", "audio_init"); add_action('save_post', 'save_audio_link'); function audio_init(){ add_meta_box("mp3-audio", "MP3 AUDIO", "audio_link", "post", "normal", "low"); } function audio_link(){ global $post; $custom = get_post_custom($post->ID); $link = $custom["link"][0]; $count = 0; echo '<div class="link_header">'; $query_audio_args = array( 'post_type' => 'attachment', 'post_mime_type' =>'audio', 'post_status' => 'inherit', 'posts_per_page' => -1, ); $query_audio = new WP_Query( $query_audio_args ); $audio = array(); echo '<select name="link">'; echo '<option class="audio_select">SELECT AUDIO FILE</option>'; foreach ( $query_audio->posts as $file) { if($link == $audio[]= $file->guid){ echo '<option value="'.$audio[]= $file->guid.'" selected="true">'.$audio[]= $file->guid.'</option>'; }else{ echo '<option value="'.$audio[]= $file->guid.'">'.$audio[]= $file->guid.'</option>'; } $count++; } echo '</select><br /></div>'; echo '<p>Selecting an audio file from the above list to attach to this post.</p>'; echo '<div class="audio_count"><span>Files:</span> <b>'.$count.'</b></div>'; } function save_audio_link(){ global $post; if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE){ return $post->ID; } update_post_meta($post->ID, "link", $_POST["link"]); } add_action( 'admin_head', 'audio_css' ); function audio_css() { echo '<style type="text/css"> .audio_select{ font-weight:bold; background:#e5e5e5; } .audio_count{ font-size:9px; color:#0066ff; text-transform:uppercase; background:#f3f3f3; border-top:solid 1px #e5e5e5; padding:6px 6px 6px 12px; margin:0px -6px -8px -6px; -moz-border-radius:0px 0px 6px 6px; -webkit-border-radius:0px 0px 6px 6px; border-radius:0px 0px 6px 6px; } .audio_count span{color:#666;} </style>'; } function audio_file_url(){ global $wp_query; $custom = get_post_custom($wp_query->post->ID); echo $custom['link'][0]; } 

Это раздел моего текущего аудиоформата, который пытается извлечь аудио-url и отображать его во встроенном аудиокоде:

 <header class="entry-header"> <div class="soundcloud-player"> <?php the_post_thumbnail(); ?> <?php $audio_url = get_post_meta($post->ID, '$key', true); //this is getting your custom field url ?> <?php $attr = array( 'src' => $audio_url, 'loop' => '', 'autoplay' => '', 'preload' => 'none' ); echo wp_audio_shortcode( $attr ); ?> <?php do_shortcode('') ?> </div> </header><!-- .entry-header --> 

Solutions Collecting From Web of "Как добавить WordPress Audio Player в качестве аудио в аудиозаписях?"

поэтому я взглянул на ваш обновленный код, и он выглядит так, как вы пишете:

 $audio_url = get_post_meta($post->ID, '$key', true); //this is getting your custom field url 

Вы забыли заменить «$ key» на фактическое имя строки мета, которое вы ищете, что, судя по вашим функциям, называется «ссылка». Поэтому я отредактировал его с помощью:

 $audio_url = get_post_meta($post->ID, 'link', true); //this is getting your custom field url 

И у игрока не было проблем.

Вы также можете отредактировать свои функциональные возможности, чтобы он либо захватывал первый файл в раскрывающемся списке, так как он по умолчанию, или не ищет ссылку $ link = $ custom ["link"] [0]; до тех пор, пока пользователь ничего не выбрал, потому что на почте, у которой еще нет файла, я получаю уведомление «Неопределенный индекс: ссылка» в вашем мета-поле.

Дайте мне знать, если вы его заработаете, но до сих пор – это выглядит хорошо. 🙂

Я бы добавил мета-окно на экран «Редактировать», а затем извлек значение из того места, где захочу.

Ознакомьтесь со следующими ресурсами:

1) http://codex.wordpress.org/Function_Reference/add_meta_box

2) http://wordpress.org/plugins/meta-box/screenshots/

Этот подход работает для вас?

Хорошо, так что вы хотите иметь возможность отображать аудио везде, где хотите, без необходимости использовать его для шаблона по умолчанию – поэтому звук не застрял с содержимым в главном текстовом редакторе WordPress.

Если я предполагаю, что вы не используете пользовательские типы сообщений для создания сообщений только для своего аудио или Magic Fields, и вы просто хотите использовать то, что находится в теме (content.php, content-link.php, content-image .php и т. д.), я бы предложил просто использовать настраиваемое поле для вставки аудиофайла. Если вы используете WP 3.6 и выше, он поддерживает аудио и автоматически отображает плеер.

Чтобы запретить дважды использовать параметр_content и для более чистого кода, создайте пользовательское поле, называемое «аудио-файл», например, и покажите его над именем the_title, как в вашем примере. В этом настраиваемом поле будет URL-адрес файла, который вы загрузили через свою медиа-библиотеку. В вашем шаблоне вы можете использовать wp_audio_shortcode . Он будет выглядеть примерно так:

 the_post_thumbnail(); $audio_url = get_post_meta($post->ID, 'audio-file', true); //this is getting your custom field url $attr = array( 'src' => $audio_url, 'loop' => '', 'autoplay' => '', 'preload' => 'none' ); echo wp_audio_shortcode( $attr ); //this will turn into a player the_title(); the_excerpt(); the_content(); 

Надеюсь, это поможет! Удачи. 🙂