wordpress 中的多个摘录长度 [英] Multiple excerpt lengths in wordpress
问题描述
正如标题中所说,我正在 WordPress 中寻找多个摘录长度.
As it says in the title, I'm looking for multiple excerpt lengths in WordPress.
我知道你可以在functions.php中做到这一点:
I understand you can do this in functions.php:
function twentyten_excerpt_length( $length ) {
return 15;
}
add_filter( 'excerpt_length', 'twentyten_excerpt_length' );
我想知道的是,如何让多个这些每个返回不同的数值,以便我可以获得侧边栏循环的简短摘录、精选循环的较长摘录以及主要文章的最长摘录.
What I want to know is how you can have multiple of these each returning different numerical values so I can get short excerpts for sidebar loops, longer excerpts for featured loops, and the longest excerpt for the main article.
类似于在模板中使用这些:
Something like using these in the templates:
<?php the_excerpt('length-short') ?>
<?php the_excerpt('length-medium') ?>
<?php the_excerpt('length-long') ?>
干杯,戴夫
推荐答案
怎么样...
function excerpt($limit) {
$excerpt = explode(' ', get_the_excerpt(), $limit);
if (count($excerpt) >= $limit) {
array_pop($excerpt);
$excerpt = implode(" ", $excerpt) . '...';
} else {
$excerpt = implode(" ", $excerpt);
}
$excerpt = preg_replace('`[[^]]*]`', '', $excerpt);
return $excerpt;
}
function content($limit) {
$content = explode(' ', get_the_content(), $limit);
if (count($content) >= $limit) {
array_pop($content);
$content = implode(" ", $content) . '...';
} else {
$content = implode(" ", $content);
}
$content = preg_replace('/[.+]/','', $content);
$content = apply_filters('the_content', $content);
$content = str_replace(']]>', ']]>', $content);
return $content;
}
然后在您刚刚使用的模板代码中..
then in your template code you just use..
<?php echo excerpt(25); ?>
来自:http://bavotasan.com/tutorials/limiting-the-number-of-words-in-your-excerpt-or-content-in-wordpress/
这篇关于wordpress 中的多个摘录长度的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!