通过使用自定义字段,您将能够使用自定义文本,而不仅仅是截断的文本,这对SEO来说是最好的:您可以编写真正的摘要。但是,出版时也需要更多的工作。
如果没有意义,您只需要更改的长度,除此之外,我将使用WP的一个内置功能,即wp_trim_words
(http://codex.wordpress.org/Function_Reference/wp_trim_words).
我建议采用这种结构:
<?php if ( have_posts() ) : while ( have_posts() ) : the_post();
static $firsts = 0; ?>
<section>
<h1><?php the_title(); ?></h1>
<article>
<? if ( $firsts < 3 ) {
$extrait = $post->post_excerpt;
if ( $extrait ) {
echo wp_trim_words( $extrait, 10, \'[...]\' ); // 10 words
} else {
$extrait = strip_tags ( get_the_content() ); // if no excerpt, use content
echo wp_trim_words( $extrait, 10, \'[...]\' ); // 10 words
}
} else {
the_excerpt();
} ?>
</article>
</section>
<? $firsts++; endwhile; endif; ?>
因此,您可以使用帖子上的专用字段编写一个特定的摘录,将前三篇帖子剪切为特定的数字,并自动摘录其余部分。
希望这有帮助。当做
EDIT我改变了最初的代码主张,因为get_the_excerpt()
从不为空(根据codex,它返回一个带[…]的空字符串最后)所以我使用$post->post_excerpt
在正确的位置感谢尼尔斯·詹森指出这一点。
LAST EDIT参考codex,\\u extract()始终返回以下内容:
If you do not provide an explicit excerpt to a post (in the post editor\'s optional excerpt field), it will display an automatic excerpt which refers to the first 55 words of the post\'s content.
In practise:当你发布一篇新帖子时,我假设总是有内容?我们为什么要写博客呢?这就是我可能会用到的代码:
$extrait = get_the_excerpt();
if ($extrait)
{
echo wp_trim_words($extrait, 20, \'...\');
}
?>
EDIT AGAIN我试着介绍这样一个想法,即让前三篇文章从循环的其余部分中摘录不同的内容。我们也可以使用偏移量。