当前位置: 首页 >wordpress

WordPress自动截取文章标题字数的4种方法

wordpress 2015-7-19 阅读量: 701 TAG:

今天跟大家分享一个NB的wordpress MB函数,来限制显示字数,包括文章、标题、摘要···几乎万能!

<?php echo mb_strimwidth(strip_tags(apply_filters(‘the_excerpt’,
$post->post_excerpt)), 0, 100); ?>

比如你的一段摘要有168个字,但是你为了界面好看,只显示100个字是最完美的,那么你就要控制一下它了。这款代码你只要用它替换掉原来的摘要代码就行了。

那么,亲你会说,且不过是个摘要而已,有必要么?要是随便搞个什么插件也行呀!笔丢了想说:“在wordpress世界里,能不用插件就不用,因为插件会拖慢网站速度。”

其次,这个的灵活性在于你只要修改一下其中的词,就能用在其他地方了!

标题:

<?php echo mb_strimwidth(strip_tags(apply_filters(‘the_title’,
$post->post_title)), 0, 30); ?>

归档:

<?php echo mb_strimwidth(strip_tags(apply_filters(‘the_archives’,
$post->post_archives)), 0, 30); ?>

文章:

<?php echo mb_strimwidth(strip_tags(apply_filters(‘the_content’,
$post->post_content)), 0, 30); ?>

红色的是要显示的字符数(两字符=一中文),绿色的是某些部位的代名词(这个我也说不好,呵呵!),所以把他们设置成为你想的那个就行啦,触类旁通,其他的亲可以多多尝试哦!

使用wp_trim_words()截取

  1. <?php
  2. echo wp_trim_words( get_the_content(), 100 ); // 文章内容
  3. echo wp_trim_words( get_the_excerpt(), 100 ); // 文章摘要
  4. echo wp_trim_words( get_the_title(), 100 ); // 文章标题
  5. ?>

    默认用法:

    <?php $trimmed = wp_trim_words( $text, $num_words = 55, $more = null ); ?>

    通过原生函数截取

      1. function customTitle($limit) {
      2.     $title = get_the_title($post->ID);
      3.     if(strlen($title) > $limit) {
      4.         $title = substr($title, 0, $limit) . '...';
      5.     }
      6. 
        

         

     

  6.     echo $title;
  7. }

    然后在输出文章标题的地方,使用下面的代码:

    1. <?php customTitle(30); ?>

    注:30为标题字数,请根据自己的需求修改。如果标题字数小于30,就显示完整标题;如果字数大于30,就截取30个字符,末尾自定添加…

    通过自定义函数截取

    1. //标题截断
    2. function cut_str($src_str,$cut_length){$return_str='';$i=0;$n=0;$str_length=strlen($src_str);
    3. 		while (($n<$cut_length) && ($i<=$str_length))
    4. 		{$tmp_str=substr($src_str,$i,1);$ascnum=ord($tmp_str);
    5. 		if ($ascnum>=224){$return_str=$return_str.substr($src_str,$i,3); $i=$i+3; $n=$n+2;}
    6.         elseif ($ascnum>=192){$return_str=$return_str.substr($src_str,$i,2);$i=$i+2;$n=$n+2;}
    7.         elseif ($ascnum>=65 && $ascnum<=90){$return_str=$return_str.substr($src_str,$i,1);$i=$i+1;$n=$n+2;}
    8.         else {$return_str=$return_str.substr($src_str,$i,1);$i=$i+1;$n=$n+1;}
    9.     }
    10.     if ($i<$str_length){$return_str = $return_str . '...';}
    11.     if (get_post_status() == 'private'){ $return_str = $return_str . '(private)';}
    12.     return $return_str;};
    13. 将上面的代码添加到主题的 functions.php 最后一个 ?> 的前面,然后在需要调用的地方添加下面的代码即可:
      1. <?php echo cut_str($post->post_title,80); ?>
      2. 通过CSS来“截取”

        1. .post-title{
        2. 
          
        3. width:250px; /* 限制宽度(可选) */
        4. 
          
        5. white-space:nowrap; /* 禁止自动换行 */
        6. 
          
        7. overflow:hidden; /* 隐藏溢出的内容 */
        8. 
          
        9. text-overflow:ellipsis; /* 溢出文本使用...代替 */
        10. 
          
        11. }
        12. 打开你主题的functions.php文件,添加下面的代码到里面:
        13. function ODD_title($char) {
                   $title = get_the_title($post->ID);
                   $title = substr($title,0,$char);
                   echo $title;
          }
        14. 然后在需要调用文章标题的地方使用下面的代码即可:
          1
          
          <?php ODD_title(20); ?>

来源:(微信/QQ号:909912499),欢迎分享本文,转载请保留出处!部分内容来自网络,如有侵权请联系删除处理!

相关信息

本站提供代码修改,dedecms,WordPress仿站二次开发 / PHP网站建设以及SEO优化等网络营销推广等服务。

如有需要请加QQ: 909912499