希望限制我的帖子页面上的字符数

时间:2017-09-21 作者:Sebastian Alidad

我希望我的帖子限制在数字字符以内。我希望这发生在显示我所有帖子的页面上。我正在使用这个片段。查看单个帖子时,还会显示“阅读更多”链接。我只想在multi-post视图中发生这种情况

enter image description hereenter image description here

//for index.php that calls content
    add_filter("the_content", "break_text");
    function break_text($text){
    $length = 500;
    if(strlen($text)<$length+10) return $text;//don\'t cut if too short

    $break_pos = strpos($text, \' \', $length);//find next space after desired length
    $visible = substr($text, 0, $break_pos);
    return balanceTags($visible) . "<a href=\'".get_permalink()."\'>read more</a> ";
}

2 个回复
最合适的回答,由SO网友:Jacob Peattie 整理而成

通常的做法是使用the_excerpt() 而不是the_content() 在存档模板中,使用此过滤器更改摘录中出现的字数:

function wpse_280633_excerpt_length() {
    return 20;
}
add_filter( \'excerpt_length\', \'wpse_280633_excerpt_length\' );
如果您希望坚持现有内容,而不将其应用于单个帖子视图,请使用以下组合is_main_query()is_singular() 要检查您是否在帖子列表中,请执行以下操作:

function wpse_280633_break_text( $content ) {
    if ( is_main_query() && ! is_singular() ) {
        $length = 500;
        if(strlen($content)<$length+10) return $content;//don\'t cut if too short

        $break_pos = strpos($content, \' \', $length);//find next space after desired length
        $visible = substr($content, 0, $break_pos);
        $content = balanceTags($visible) . "<a href=\'".get_permalink()."\'>read more</a> ";
    }

    return $content;
}
add_filter( \'the_content\', \'wpse_280633_break_text\' );

SO网友:Pratik bhatt

您可以通过以下方式限制字符的长度

<?php 
   $str= get_the_excerpt();
   echo $str1= substr ($str,0,50);
?> 
请检查此项,如果您面临任何问题,请告诉我。

结束

相关推荐