我想在帖子和归档自定义字段中用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); ?>&ap=%2526fmt%3D18&autoplay=0&rel=0&fs=1&color1=0xC0C0C0&color2=0xFFFFFF&border=0&loop=0">
<?php } else { ?>
<em>No sound</em>
<?php } ?>
当前我使用javascript,从这里删除:find all youtube links with js (jquery) /但它的加载速度非常慢我的网站。 有没有办法在自定义字段中使用php执行此操作?
谢谢。 大卫。
答案 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); ?>
&ap=%2526fmt%3D18&autoplay=0&rel=0&fs=1&color1=0xC0C0C0&color2=0xFFFFFF&border=0&loop=0">
如果您尝试在存档中执行此操作,则很可能会将此代码添加到content.php或content-video.php。