【道勤網(wǎng)】- bmrsportswear.com 軟件視頻自學(xué)教程|免費(fèi)教程|自學(xué)電腦|3D教程|平面教程|影視動(dòng)畫教程|辦公教程|機(jī)械設(shè)計(jì)教程|網(wǎng)站設(shè)計(jì)教程!【道勤網(wǎng)】

標(biāo)題: WordPress層序如何設(shè)置自動(dòng)截取文章標(biāo)題字?jǐn)?shù)的4種方法 [打印本頁(yè)]

作者: 學(xué)習(xí)NO.1    時(shí)間: 2016-1-10 13:00
標(biāo)題: WordPress層序如何設(shè)置自動(dòng)截取文章標(biāo)題字?jǐn)?shù)的4種方法
本帖最后由 學(xué)習(xí)NO.1 于 2016-1-10 13:04 編輯

話說(shuō)在制作WordPress主題的時(shí)候,我們通常要截取固定字?jǐn)?shù)的文章標(biāo)題,以保證主題樣式的某些需求。
(, 下載次數(shù): 44)

下面,倡萌就和大家分享下WordPress自動(dòng)截取文章標(biāo)題字?jǐn)?shù)的4種方法。

使用wp_trim_words()截取

WordPress 3.3 新增了一個(gè) wp_trim_words() 函數(shù),專門用來(lái)截取限定字?jǐn)?shù)的內(nèi)容,比如文章、摘要、標(biāo)題等,使用方法請(qǐng)看:http://bmrsportswear.com/thread-2564-1-1.html
通過(guò)原生函數(shù)截取

將下面的代碼添加到主題的 functions.php 文件:

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

  6.     echo $title;
  7. }
復(fù)制代碼

然后在輸出文章標(biāo)題的地方,使用下面的代碼:

  1. <?php customTitle(30); ?>
復(fù)制代碼

注:30為標(biāo)題字?jǐn)?shù),請(qǐng)根據(jù)自己的需求修改。如果標(biāo)題字?jǐn)?shù)小于30,就顯示完整標(biāo)題;如果字?jǐn)?shù)大于30,就截取30個(gè)字符,末尾自定添加…

通過(guò)自定義函數(shù)截取
  1. //標(biāo)題截?cái)?br />
  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;};
復(fù)制代碼
將上面的代碼添加到主題的 functions.php 最后一個(gè) ?> 的前面,然后在需要調(diào)用的地方添加下面的代碼即可:
  1. <?php echo cut_str($post->post_title,80); ?>
復(fù)制代碼

可以修改上面的數(shù)字來(lái)設(shè)定長(zhǎng)度。

通過(guò)CSS來(lái)“截取”

嚴(yán)格來(lái)說(shuō),這不是截取,而是隱藏了溢出的字符。對(duì)標(biāo)題所在的選擇器 id 或 class 添加下面的樣式:

  1. .post-title{

  2. width:250px; /* 限制寬度(可選) */

  3. white-space:nowrap; /* 禁止自動(dòng)換行 */

  4. overflow:hidden; /* 隱藏溢出的內(nèi)容 */

  5. text-overflow:ellipsis; /* 溢出文本使用...代替 */

  6. }
復(fù)制代碼

如果你還知道其他截取標(biāo)題字?jǐn)?shù)的更好方法,歡迎和我們一起分享。







歡迎光臨 【道勤網(wǎng)】- bmrsportswear.com 軟件視頻自學(xué)教程|免費(fèi)教程|自學(xué)電腦|3D教程|平面教程|影視動(dòng)畫教程|辦公教程|機(jī)械設(shè)計(jì)教程|網(wǎng)站設(shè)計(jì)教程!【道勤網(wǎng)】 (http://bmrsportswear.com/) Powered by Discuz! X3.4