通过php窗口小部件内的自定义字段在主页上显示视频

时间:2012-01-15 作者:Dave Burns

我试图在一个小部件中显示一段视频,该小部件是从帖子中的自定义字段调用的。我使用的代码如下:

<?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/

提前谢谢。

当然,如果有人有更好的方法来完成我想要实现的目标,那也太棒了:)

3 个回复
最合适的回答,由SO网友:Milo 整理而成

query_posts 仅用于修改主循环,如果在主循环外部或内部执行其他查询,请创建新的WP_Query 例子

还有-我不知道你为什么showposts=1 然后get_option(\'posts_per_page\') 紧接着。例如,如果posts_per_page 设置为10,则该字符串的计算结果为showposts=110

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嵌入类将完成这项工作。

SO网友:Dave Burns

我已使用以下代码解决了此问题,感谢@Milo在查找问题时提供的帮助以及在线指南:http://justintadlock.com/archives/2008/01/25/how-to-add-videos-to-your-wordpress-sidebar

<?php $my_query = new WP_Query(\'cat=8&showposts=1\');
while ($my_query->have_posts()) : $my_query->the_post(); 

$video = get_post_custom_values($key = \'youtube\');?>

<?php if(isset($video[0]) && strcmp($video[0],\'\')!= 0)  {?>

<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 $video[0]; ?>?rel=0" frameborder="0" allowfullscreen></iframe>


<?php } else {
echo \'Did not add a video URL to the custom field <strong> Key</strong> of "Video"\';
echo \'<!-- This user did not add the video URL to the correct custom field -->\';
} 
?>

<?php endwhile; ?>

结束

相关推荐

fetch images and videos

是否可以获取特定网站的视频和图像并将其发布?我的意思是我正在考虑写一个函数,在这里我只写网站名称,然后在网站url的帮助下,所有或最新的图片和视频都会发布到我的帖子上。这可能吗?