我想创建一个存档页面,按此顺序显示帖子:
post_title | post_date | post_category
当然,这应该是可点击链接到帖子的,或者如果你点击一个类别,它应该链接到一个类别
到目前为止我有什么:
$args = array(
'post_type' => 'post'
);
$post_query = new WP_Query($args);
if($post_query->have_posts() ) {
while($post_query->have_posts() ) {
$post_query->the_post();
?>
<h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Link naar <?php the_title_attribute(); ?>"><?php the_title(); ?></a> | <?php the_date();?> | <?php get_the_category;?></h2>
<?php
}
}
?>
我知道&#34; the_permalink()&#34;给我发布帖子和&#34; the_title&#34;给了我头衔。
此代码仅显示最后10个帖子而不是3000个。
另一个问题是日期只出现在10个帖子中的2个。
该类别根本没有显示出来。
这是我第一次真正尝试使用wordpress,也许我真的错误地做错了,所以我希望你们都能帮助我。提前谢谢。
答案 0 :(得分:2)
此代码仅显示最后10个帖子而不是3000个。
这是正常的Wordpress行为。默认情况下,如果您未将posts_per_page
或numberposts
参数指定为get_posts
,则会使用设置&gt;中设置的值。读。所以将你的args改为这个(-1
意味着它会显示你的所有帖子 - 如果你真的需要它的话就改为3000):
$args = array(
'post_type' => 'post',
'numberposts' => -1
);
另一个问题是日期只出现在10个帖子中的2个。
奇怪的是,这是一个默认的Wordpress行为(在我看来有点令人困惑)。如果您查看the_date
文档页面上的特别说明,它会告诉您:
当在同一天发布的网页上有多个帖子时, the_date()仅显示第一篇文章的日期
如果您希望克服此问题并显示所有帖子的日期,则需要使用get_the_date
(它会返回日期,因此您需要echo
它。)
该类别根本没有出现。
你错过了使用get_the_category
- 它返回一个与帖子相关联的类别对象数组,而不是echo
任何东西。要显示指向当前帖子类别的链接,您需要使用get_the_category
和get_category_link
的组合:
$category = get_the_category();
echo '<a href="' . get_category_link($category[0]->cat_ID) .'">' . $category[0]->cat_name . '</a>';
答案 1 :(得分:1)
您可以像这样控制帖子数量(比如50):
$args = array(
'post_type' => 'post',
'posts_per_page' => 50
);
显示日期和类别使用此:
<h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Link naar <?php the_title_attribute(); ?>"><?php the_title(); ?></a> |
<?php
echo get_the_date();
echo ' | ';
$category_list = get_the_category_list( ', ' );
if ( $category_list )
echo $category_list;
?>
</h2>
希望有所帮助。如果没有随意问!