我试图使用以下代码在Wordpress网站的主页上显示特定类别的帖子:
<?php $args = array('category' => 2);
$news = get_posts($args);
foreach ($news as $new) : setup_postdata($new); ?>
<img data-slidecaption="<div class='caption'><h2><?php the_title(); ?></h2><p><?php the_excerpt(); ?></p><a href='<?php the_permalink(); ?>'>Leggi tutto</a></div>" src="">
<?php endforeach;
wp_reset_postdata();?>
</div>
例如,我有三个标题帖:帖子1,帖子2,帖子3。
查询工作正常,每个帖子的内容都正确显示,但标题始终是最新帖子中的标题。永久链接也是如此。我做错了什么?
答案 0 :(得分:2)
the_title()
显示循环中当前帖子/页面的标题。 get_posts
进行独立查询,不会影响主循环。使用
<?php echo $new->post_title; ?>
显示新闻项目的标题。
或者,应用正确的过滤器会更好:
<?php echo apply_filters( 'the_title', $new->post_title ); ?>
对于永久链接,请使用
<?php echo get_permalink( $new->ID ); ?>
答案 1 :(得分:2)
使用<?php echo get_the_title($new->ID);?>
作为标题和
在循环中使用<?php echo get_permalink($new->ID); ?>
永久链接,您将获得所需的结果。我无法弄清楚你要做什么,但按照我的编辑,它将解决你的问题。