Wordpress /自定义字段Youtube /我想用php替换视频网址(用?/ v /)?

时间:2011-08-06 07:50:31

标签: php wordpress replace field

我想在帖子和归档自定义字段中用php替换youtube url。

我的代码是:

<?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,从这里删除:find all youtube links with js (jquery) /但它的加载速度非常慢我的网站。 有没有办法在自定义字段中使用php执行此操作?

谢谢。 大卫。

2 个答案:

答案 0 :(得分:0)

如果您可以迭代自定义字段,只需使用简单的PHP str_replace

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

$old_url是您视频的当前slu ..

更新的答案:您可以解析网址,抓取v组件:

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

您可以将其放入循环或帖子页模板或其他任何内容中,其中$video_url是包含您要更改的YouTube视频网址的字段。

答案 1 :(得分:0)

在那里, 我能想到的一件事是制作2个自定义字段,其中一个是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。