2012-03-04 113 views
0

我正在运行一个WordPress站点,我想知道是否有可能在单个模板本身的自定义字段上做循环?WordPress的:在一个帖子内循环一个客户变量

以下是我用于在帖子内呈现YouTube视频的代码。我在帖子上记录的所有内容都是YouTube独特标识符。

<?php if (get_post_meta($post->ID, 'video_youtube', true)) : ?> 
     <div class="youtube_video"> 
      <?php echo' 
       <iframe width="570" height="395" src="http://www.youtube.com/embed/';?><?php echo get_post_meta($post->ID,'video_youtube', true)?><?php echo'" frameborder=0 allowfullscreen></iframe> 
      '; 
      ?> 
     </div> 

<?php endif; ?> 

我想要的是这段代码每次在该帖子上使用自定义变量'video_youtube'时都会循环。

任何人都可以提出任何建议吗?

回答

0

我真的不明白,我得到的是,你想要某种方式或某些变量,当被调用时产生的youtube iframe代码。

但我不明白是你的谁会决定你想在你的模板上使用自定义变量的次数。你确定你想要自定义变量吗?或者你想要短码?可以通过信息/页面或模板填写。无论你想要发布YouTube视频

现在试试这个

$youtube_embed = ' 
      <iframe width="570" height="395" src="http://www.youtube.com/embed/'.get_post_meta($post->ID, 'video_id', true).'" frameborder=0 allowfullscreen></iframe> 
     '; 

$youtube = get_post_meta($post->ID, 'video_youtube', true)?$youtube_embed; 

,你可以只回声$的YouTube

另外,如果你需要传递视频ID每次需要视频的时间,你可以在模板文件中创建一个小函数或甚至一个CLASS。

function embedYoutube($video_link,$is_embed){ 
return '<iframe width="570" height="395" 
src="http://www.youtube.com/embed/'.$video_link.'" frameborder=0 allowfullscreen></iframe> 
     ';} 


echo embedYoutube(get_post_meta($post->ID, 'video_id', true),get_post_meta($post->ID, 'video_youtube', true)); 
相关问题