我想在帖子和存档自定义字段中替换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); ?>&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,从这里采取:找到所有的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); ?>
&ap=%2526fmt%3D18&autoplay=0&rel=0&fs=1&color1=0xC0C0C0&color2=0xFFFFFF&border=0&loop=0">
如果您尝试在存档中执行此操作,您最可能将此代码添加到content.php或content-video.php.