我试图在一个小部件中显示一段视频,该小部件是从帖子中的自定义字段调用的。我使用的代码如下:
<?php query_posts(\'cat=8&showposts=1\'.get_option(\'posts_per_page\')); ?>
<?php if(have_posts()) : while(have_posts()) : the_post(); ?><?php if( get_post_meta($post->ID, "youtube", true) ): ?>
<h2><a href="<?php the_permalink() ?>" rel="bookmark" title="The W Club: <?php the_title(); ?>"><?php the_title(); ?></a></h2>
<iframe width="250" height="199" src="http://www.youtube.com/embed/<?php echo get_post_meta($post->ID, "youtube", true); ?>?rel=0" frameborder="0" allowfullscreen></iframe>
<?php else: ?>
Video can not be displayed.
<?php endif; ?>
<?php endwhile; endif; ?>
<?php echo get_post_meta($post->ID, "youtube", true); ?>
我在第8类(视频)中创建了一篇帖子,输入了一个标题,添加了自定义字段(youtube),并使用正确的URL代码来显示视频。
当我加载页面时,所有小部件显示的都是“无法显示视频”,它不使用帖子标题,我甚至无法让它回显自定义字段条目。
有什么想法吗?我使用的定制php小部件是http://wordpress.org/extend/plugins/php-code-widget/
提前谢谢。
当然,如果有人有更好的方法来完成我想要实现的目标,那也太棒了:)
SO网友:Andres Yanez
我没有很好地理解你,但如果你说你在一篇特定的文章中保存了一个自定义字段,那么你可以使用get\\u post()
<?php $youtube_post = get_post($my_id); ?>
<h2><a href="<?php echo get_permalink( $youtube_post->ID ); ?>" rel="bookmark" title="The W Club: <?php echo get_the_title($youtube_post->ID); ?>"><?php echo get_the_title($youtube_post->ID); ?></a></h2>
<iframe width="250" height="199" src="http://www.youtube.com/embed/<?php echo get_post_meta($youtube_post->ID, "youtube", true); ?>?rel=0" frameborder="0" allowfullscreen></iframe>
只需将$my\\u id替换为您可以检索的post id,但是如果您只显示静态视频,最好的解决方案是使用自定义视频小部件,您可以在其中放置标题和视频url,而WP嵌入类将完成这项工作。