我正在制作一个wordpress主题,该主题在主页上的主要内容下有一个"最新帖子"类似区域。自定义主题基于Adamos主题。到目前为止,我在打印主要内容后使用了这个:
<?php
wp_reset_query();
$args = array( 'numberposts' => '2' );
$recent_posts = wp_get_recent_posts($args);
foreach( $recent_posts as $recent ){
setup_postdata($recent);
?>
<div class="index_recent_post">
<div class="index_recent_title">
<h3><?php echo '<a href="' . get_permalink($recent["ID"]) . '">' . $recent["post_title"].'</a>'; ?></h3>
</div>
<?php
if ( has_post_thumbnail($recent["ID"]) ) {
echo get_the_post_thumbnail($recent["ID"], 'frontpage-thumbnail');
}
echo '<p>' . get_the_excerpt($recent["ID"]) . '</p>';
echo '<a href="' . get_permalink($recent["ID"]) . '" class="recent_link">MORE</a>';
?>
</div>
<?php
}
wp_reset_query();
?>
然而,虽然最新帖子(标题,缩略图,链接)的每个项目都完美无缺,但摘录却没有:它显示为空。如果我删除wp_reset_query()
和setup_postdata()
行,则会显示MAIN帖子的摘录,但似乎没有办法让它显示最新的摘录,即使最新帖子的其他信息都能完美展现出来。
摘录也不会显示,无论帖子是否有自定义摘录,所以问题不在于寻找自定义摘录而不是找到它的功能。我可以通过$recent["post_excerpt"]
获取自定义摘录,但只有自定义摘录才能获得自定义摘录 - 如果自定义内容不存在,则无法根据内容构建自定义摘录,这不太理想。
有没有人处理过这个问题,你能帮我找到问题所在吗?
答案 0 :(得分:3)
你可以使用下面的代码。我在我的本地服务器上测试了这段代码。它运行正常。
wp_reset_query();
$args = array( 'numberposts' => '2' );
$recent_posts = wp_get_recent_posts($args);
foreach( $recent_posts as $recent ){
setup_postdata($recent);
?>
<div class="index_recent_post">
<div class="index_recent_title">
<h3><?php echo '<a href="' . get_permalink($recent["ID"]) . '">' . $recent["post_title"].'</a>'; ?></h3>
</div>
<?php
if ( has_post_thumbnail($recent["ID"]) ) {
echo get_the_post_thumbnail($recent["ID"], 'frontpage-thumbnail');
}
//echo '<p>' . get_the_excerpt($recent["ID"]) . '</p>';
$content= $recent["post_content"];
$excerpt = wp_trim_words( $content, $num_words = 55, $more = null );
echo $excerpt;
echo '<a href="' . get_permalink($recent["ID"]) . '" class="recent_link">MORE</a>';
?>
</div>
<?php
}
wp_reset_query();