Wordpress / Пользовательское поле Youtube / Я хочу заменить URL видео (смотреть? V = с / v /) на php - PullRequest
0 голосов
/ 06 августа 2011

Я хочу заменить в почтовом и архивном настраиваемом поле URL-адрес YouTube на php.

Мой код:

<?php if ( get_post_meta($post->ID, 'ixosrip', true) ) { ?>
<embed style="width:150px;height:25px;" allowfullscreen="false" type="application/x-shockwave-flash" src="http://www.youtube.com/v/<?php echo get_post_meta($post->ID, "ixosrip", $single = true); ?>&amp;ap=%2526fmt%3D18&amp;autoplay=0&amp;rel=0&amp;fs=1&amp;color1=0xC0C0C0&amp;color2=0xFFFFFF&amp;border=0&amp;loop=0">
<?php } else { ?>
<em>No sound</em>
<?php } ?>

В настоящее время я использую JavaScript, полученный здесь: найти все ссылки на YouTube с помощью js (jquery) / Но его загрузка очень медленнаямой сайт.Есть ли способ сделать это с php в настраиваемом поле?

Спасибо.Дэвид.

Ответы [ 2 ]

0 голосов
/ 10 июля 2014

Да, есть одна вещь, о которой я могу подумать, это сделать 2 настраиваемых поля, где одно будет идентификатором и будет иметь значение типа 'FKAjQfL31Dw'

... а другое будет иметь значение либо'v /' или 'watch? v =' в зависимости от того, какой из них вы выберете.(можно сделать с помощью переключателей)

, поэтому ваш код может выглядеть примерно так:

  <embed style="width:150px;height:25px;" allowfullscreen="false" type="application/x-shockwave-flash" src="http://www.youtube.com/
    <?php $key='youtube_format'; echo get_post_meta($post->ID, $key, true); ?>
    <?php $key='youtube_id'; echo get_post_meta($post->ID, $key, true); ?>
&amp;ap=%2526fmt%3D18&amp;autoplay=0&amp;rel=0&amp;fs=1&amp;color1=0xC0C0C0&amp;color2=0xFFFFFF&amp;border=0&amp;loop=0">

Если вы пытаетесь сделать это в архивах, вы, скорее всего, добавите этот код в content.phpили content-video.php.

0 голосов
/ 06 августа 2011

Если вы можете перебирать свои пользовательские поля, просто сделайте это с простым PHP str_replace:

$new_url = str_replace('/watch?v=', '/v/', $old_url);

Где $old_url - текущий фрагмент вашего видео.

ОБНОВЛЕННЫЙ ОТВЕТ: Вы можете проанализировать URL, получив компонент v:

parse_str($video_url, $params);
$video_id = $params['v'];
$video_url = 'http://www.youtube.com/v/'.$video_id;

Вы бы поместили это в свой цикл или в шаблон поста, или где-либо еще, где $video_url - это поле, содержащее, в общем, URL видео YouTube, который вы хотите изменить.

...