我在Wordpress中创建一个循环,其条件如下:
显示特定的帖子格式(例如:视频)
限制帖子号码。在这种情况下,我只想显示2个帖子。
这是我的代码:
<?php $i = 1; if (have_posts()) : while (have_posts() && $i < 3) : the_post(); ?>
<?php get_template_part( 'content-video', get_post_format() ); ?>
<?php $i++; endwhile; ?>
<?php else : ?>
<?php get_template_part( 'content', 'none' ); ?>
<?php endif; ?>
我已经有文件名content-video.php。
不幸的是,循环不起作用。仅使用来自content-video.php。
的模板显示第一篇帖子,而不是特定帖子(视频帖子格式)感谢任何帮助或替代代码。提前谢谢。
答案 0 :(得分:0)
我不确定我将在这里写些什么,但这只是我对你的代码的评论:
我认为你对if else while
语句的包装不好。在您的方法正确的情况下,您最后错过endif
。
为什么在代码中使用i
变量,因为您可以自定义WP中的任何查询,尤其是使用参数posts_per_page
的帖子数量。
为什么不在content-video.php
内使用循环并且只写:get_template_part('content-video', get_post_format());
与single.php and loop-single.php
一样,提供wordpress安装的主题(二十个主题)。
如果我错了请不要贬低。祝你好运
答案 1 :(得分:0)
最好的方法是从查询中获取“视频”帖子格式的帖子,但我不确定如何:)
作为一种解决方法,您可以在循环中执行此操作:
if (!has_post_format('video'))
continue;