我在functions.php中有这段代码
function custom_excerpt_length() {
return 15;
}
add_filter('excerpt_length', 'custom_excerpt_length');
但它不起作用,因为它给了我全文,而不是我指定的15个单词。我在我的网站上设置的网格是不正确的。
提前致谢
答案 0 :(得分:1)
也可以将此代码用于多种类型的摘录
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;
}
然后在您的模板代码中使用..
<?php echo excerpt(25); ?>
答案 1 :(得分:0)
添加第三个参数,你还没有提到它将起作用的函数参数
function custom_excerpt_length( $length ) {
return 15;
}
add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );
答案 2 :(得分:0)
我也遇到了这个问题,您的代码是正确的。 要解决此问题,只需转到Wordpress仪表板>帖子>所有帖子,然后在出现问题的帖子中单击“编辑”,在编辑器中确保摘录为空,然后单击“更新”。 Click here to see the image