参数
- $number
-
(int) 最大字数,默认值55
说明
如果要更改默认摘录长度,请使用此过滤器。
要更改摘录长度,请在主题的functions.php
文件中添加以下代码,调整“20”以匹配您希望在摘录中显示的字数:
function mytheme_custom_excerpt_length( $length ) { return 20; } add_filter( 'excerpt_length', 'mytheme_custom_excerpt_length', 999 );
确保正确设置优先级,例如999,否则此函数上的默认WordPress过滤器将最后运行,并覆盖您在此处设置的内容。
源码
更新日志
版本 | 描述 |
---|---|
2.7.0 | 开始引入 |
使用示例
通过定制器根据主题修改(theme mod)设置摘录长度。
prefix_custom_excerpt_length( $length ) { $custom = get_theme_mod( 'custom_excerpt_length' ); if( $custom != '' ) { return $length = intval( $custom ); } else { return $length; } } add_filter( 'excerpt_length', 'prefix_custom_excerpt_length', 999 );
/** * Filter the excerpt length to 50 words. * * @param int $length Excerpt length. * @return int (Maybe) modified excerpt length. */ function theme_slug_excerpt_length( $length ) { if ( is_admin() ) { return $length; } return 50; } add_filter( 'excerpt_length', 'theme_slug_excerpt_length', 999 );
这将有助于仅在前端应用摘录长度。
/** * Filter the excerpt length to 30 words. * * @param int $length Excerpt length. * @return int (Maybe) modified excerpt length. */ function wp_example_excerpt_length( $length ) { return 30; } add_filter( 'excerpt_length', 'wp_example_excerpt_length');
注意:这将使用excerpt_length过滤器显示最多30个单词的摘录文本。默认情况下,字数为55。
示例:-
<?php the_excerpt(); ?>
这将显示您的文章摘录,最多30个单词。
/** * Filter the excerpt length to 20 words. * * @param int $length Excerpt length. * @return int (Maybe) modified excerpt length. */ add_filter( 'excerpt_length', function( $length ) { return 20; } );
/** * Filter the excerpt length to 80 words on homepage and 50 words on page template * * @param int $length Excerpt length. * @return int modified excerpt length. */ function wpdocs_custom_excerpt_length( $length ) { if ( is_page_template( 'page-templates/services-page.php' ) ) { return 50; } else if ( is_front_page() && is_home() ) { return 80; } else { return $length; } } add_filter( 'excerpt_length', 'wpdocs_custom_excerpt_length', 999 );
这有助于在主页、自定义页面模板(其中列出了一些自定义文章类型)上显示不同的摘录长度。