Wordpress/自定义字段Youtube /我想取代视频url(观看?V = with / V /) with ph


Wordpress/Custom field Youtube / I want to replace video url (watch?v= with /v/) with php

我想在帖子和存档自定义字段中替换youtube url与php.

  • From: http://www.youtube.com/watch?v=FKAjQfL31Dw To:
  • http://www.youtube.com/v/FKAjQfL31Dw
我的代码是:
<?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自定义字段?

谢谢。大卫。

如果您可以遍历自定义字段,只需使用简单的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是包含的字段,好吧,你想改变的YouTube视频URL。

好了,我能想到的一件事是创建两个自定义字段,其中一个是id,值为'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.