默认情况下,摘录过滤器会按字数减少您的帖子,我认为这可能比您现在使用的基于字符的substr函数更可取,并且在执行时还会将标签和图像字符串化。
您可以使用过滤器设置要摘录的字数excerpt_length (默认为55个字,codex中的此函数显示如何将其更改为20:)
function new_excerpt_length($length) {
return 20;
}
add_filter(\'excerpt_length\', \'new_excerpt_length\', 999);
如果需要使用示例中基于字符长度的截止值,可以通过对输出应用适当的过滤器来修复断开的标记等,如下所示:
$content_to_excerpt = strip_tags( strip_shortcodes( get_the_content() ) );
echo "<p>". substr( apply_filters(\'the_excerpt\', $content_to_excerpt), 0, 160)."...</p>";
请注意,在截断摘录之前,您正在剥离标记并应用过滤器,以免在摘录中留下一个打开的标记,这会破坏布局的其余部分。
有许多伟大的主题以创造性的方式处理摘录,我建议你看看它们是如何做到的。以下是一些思考过这个问题的人的好博客帖子:
另外,要了解处理摘录的真正随机方法,请查看
Kirby theme - 它试图通过使用css只显示标题和列表(根据我的记忆),实现类似Microsoft Word的自动摘要功能。