我想用50个第一个字符显示三个最新帖子。最后还有一个“阅读更多”链接。像这样:
我的第一篇文章
Lorem ipsum dolor sit amet,consectetur adipiscing elit。 Aenean vulputate。阅读更多...
我的第二篇文章
Lorem ipsum dolor sit amet,consectetur adipiscing elit。 Aenean vulputate。阅读更多...
我的第三篇文章
Lorem ipsum dolor sit amet,consectetur adipiscing elit。 Aenean vulputate。阅读更多...
我是否使用get_posts?我该怎么做?
答案 0 :(得分:4)
这成了我的解决方案:
在模板中:
<?php
$args = array( 'numberposts' => 3 );
$lastposts = get_posts( $args );
foreach($lastposts as $post) : setup_postdata($post);
?>
<h2 class="news"><?php the_title(); ?></h2>
<?php the_excerpt(); ?>
<?php endforeach; ?>
在functions.php中:
function new_excerpt_more($more) {
global $post;
return '... <a href="'. get_permalink($post->ID) . '">Read more</a>';
}
add_filter('excerpt_more', 'new_excerpt_more');
function custom_excerpt_length( $length ) {
return 20;
}
add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );
答案 1 :(得分:1)
是的,你使用get_posts:
$options = array(
'number_of_posts' => 3
);
$myposts = get_posts($options);
foreach( $myposts as $post ) {
setup_postdata($post);
echo '<h2>' . the_title . '</h2>';
echo the_content();
}
您可以使用类似“$ mycontent = get_the_content()”的内容然后使用phps substring进行操作,但老实说:不要这样做!
为了您的阅读更多功能Wordpress在编辑器中具有完美的更多标签,如果您尝试这样的话,它将自动为您工作:
foreach( $myposts as $post ) {
setup_postdata($post);
echo '<h2>' . the_title . '</h2>';
echo the_excerpt();
echo '<a href="' . the_permalink() . '">More »</a>';
}
答案 2 :(得分:1)
您可以在不使用functions.php页面的情况下使用它。
<?php
$args = array( 'numberposts' => 1 );
$lastposts = get_posts( $args );
foreach($lastposts as $post) : setup_postdata($post); ?>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<?php the_content_rss('', TRUE, '', 33); ?> <a class="continue" href="<?php the_permalink() ?>">Continue Reading »</a>
<?php endforeach; ?>