WordPress文章摘要小記
發(fā)布時間:2012-01-10 00:58:57 作者:佚名
我要評論

關(guān)于WordPress的首頁文章摘要,我想很多人都有自己不同的看法,關(guān)注我博客的或者使用我主題我想大家都知道,我使用的是截取文章的部分(大約350字)來作為摘要的
其實我個人并不是很喜歡這種摘要的顯示方式,但是這個方法用起來比較方便而已。
WordPress是有摘要功能的,寫文章的時候填寫一些摘要是一個很好的習(xí)慣,我主題設(shè)置摘要給搜索引擎看的。
不過并不是很多人在發(fā)表文章的時候填寫這個摘要,所以我也一直糾結(jié)是否在主題設(shè)計的時候首選使用摘要模式。
網(wǎng)上使用摘要的代碼大多是這樣的
<?php if(!is_single()) {
the_excerpt();
} else {
the_content(__('(more...)'));
} ?>
首選顯示摘要,如果沒有摘要則顯示全部文章,話說顯示全部文章肯定是不給力的,萬一一篇文章很長怎么辦,首頁能放幾篇文章?
今天看到一篇很好的文章,解決了這一問題,文章想到了我所想要的,非常不錯。較完美的WordPress文章摘要(截斷)方案
首先顯示摘要,如果沒有摘要的則顯示用more標(biāo)簽截斷的,如果沒有more標(biāo)簽則顯示文章截取多少字的,如果主機不支持mb_strimwidth函數(shù)截斷,則才顯示全文。
大家覺得這種顯示方法怎么樣,如果大家覺得OK,我新版的主題將使用這個作為首頁文章摘要了。
<?php //這是為了在單篇文章(或頁面)直接顯示全部內(nèi)容,而不使用以下的判斷
if(is_singular()){the_content();}else{
//定義兩個$
$pc=$post->post_content;
$st=strip_tags(apply_filters('the_content',$pc));
//判斷是否存在 內(nèi)置摘要
if(has_excerpt())
the_excerpt();
/*使用正則表達式嘗試匹配more標(biāo)簽,
并判斷如果存在more標(biāo)簽, 或者正文內(nèi)容長度小于300, 則直接以more標(biāo)簽方式顯示,
即是說, 有more便顯示more, 沒more且長度小于300則直接顯示全文.
我使用了mb_strwidth來判斷長度.
*/
elseif(preg_match('/<!--more.*?-->/',$pc) || mb_strwidth($st)<300)
the_content('Read more »');
//否則...以下
elseif(function_exists('mb_strimwidth'))//判斷是否支持mb_strimwidth函數(shù)
echo'<p>'//mb_strimwidth截斷后得到的是純文本, 所以我給它包了一層 p
.mb_strimwidth($st,0,300,' ...')//對文本內(nèi)容截斷, 從位置0開始往后截取300長度, 超出部分以點點點替代
.'</p><p class="read-more"><a title="'//給截斷的內(nèi)容添加一個與 STEP 1 完全一模一樣的"more標(biāo)簽"...
.the_title("繼續(xù)閱讀: ","",false)//注意這里與 STEP 1 相比, 使用了另一個函數(shù)來獲取標(biāo)題
.'" rel="nofollow" href="'
.post_permalink()
.'" class="more-link">Read more »</a></p>';
else the_content();//最后沒有選擇的選擇...
}?>
WordPress是有摘要功能的,寫文章的時候填寫一些摘要是一個很好的習(xí)慣,我主題設(shè)置摘要給搜索引擎看的。
不過并不是很多人在發(fā)表文章的時候填寫這個摘要,所以我也一直糾結(jié)是否在主題設(shè)計的時候首選使用摘要模式。
網(wǎng)上使用摘要的代碼大多是這樣的
復(fù)制代碼
代碼如下:<?php if(!is_single()) {
the_excerpt();
} else {
the_content(__('(more...)'));
} ?>
首選顯示摘要,如果沒有摘要則顯示全部文章,話說顯示全部文章肯定是不給力的,萬一一篇文章很長怎么辦,首頁能放幾篇文章?
今天看到一篇很好的文章,解決了這一問題,文章想到了我所想要的,非常不錯。較完美的WordPress文章摘要(截斷)方案
首先顯示摘要,如果沒有摘要的則顯示用more標(biāo)簽截斷的,如果沒有more標(biāo)簽則顯示文章截取多少字的,如果主機不支持mb_strimwidth函數(shù)截斷,則才顯示全文。
大家覺得這種顯示方法怎么樣,如果大家覺得OK,我新版的主題將使用這個作為首頁文章摘要了。
復(fù)制代碼
代碼如下:<?php //這是為了在單篇文章(或頁面)直接顯示全部內(nèi)容,而不使用以下的判斷
if(is_singular()){the_content();}else{
//定義兩個$
$pc=$post->post_content;
$st=strip_tags(apply_filters('the_content',$pc));
//判斷是否存在 內(nèi)置摘要
if(has_excerpt())
the_excerpt();
/*使用正則表達式嘗試匹配more標(biāo)簽,
并判斷如果存在more標(biāo)簽, 或者正文內(nèi)容長度小于300, 則直接以more標(biāo)簽方式顯示,
即是說, 有more便顯示more, 沒more且長度小于300則直接顯示全文.
我使用了mb_strwidth來判斷長度.
*/
elseif(preg_match('/<!--more.*?-->/',$pc) || mb_strwidth($st)<300)
the_content('Read more »');
//否則...以下
elseif(function_exists('mb_strimwidth'))//判斷是否支持mb_strimwidth函數(shù)
echo'<p>'//mb_strimwidth截斷后得到的是純文本, 所以我給它包了一層 p
.mb_strimwidth($st,0,300,' ...')//對文本內(nèi)容截斷, 從位置0開始往后截取300長度, 超出部分以點點點替代
.'</p><p class="read-more"><a title="'//給截斷的內(nèi)容添加一個與 STEP 1 完全一模一樣的"more標(biāo)簽"...
.the_title("繼續(xù)閱讀: ","",false)//注意這里與 STEP 1 相比, 使用了另一個函數(shù)來獲取標(biāo)題
.'" rel="nofollow" href="'
.post_permalink()
.'" class="more-link">Read more »</a></p>';
else the_content();//最后沒有選擇的選擇...
}?>
相關(guān)文章
CyberPanel安裝WordPress并配置偽靜態(tài)規(guī)則
下面教你如何在 CyberPanel安裝WordPress以及配置偽靜態(tài),需要的朋友可以參考下2023-12-27- 這篇文章主要介紹了wordpress無法安裝更新主題插件的解決辦法,需要的朋友可以參考下2020-12-27
WordPress必備數(shù)據(jù)庫SQL查詢語句整理
發(fā)現(xiàn)幾條比較實用的,適合 WordPress 實用的SQL語句。于是就趕緊收集分享出來了,需要的朋友可以參考下2017-09-23wordpress在安裝使用中出現(xiàn)404、403、500及502問題的分析與解決方法
wordpress是很多新手站長搭建個人博客最喜愛的程序,但是最近在使用WordPress的時候遇到了一些問題,所以想著將遇到問題總結(jié)分享出來,下面這篇文章主要給大家介紹了關(guān)于wo2017-08-11WordPress取消英文標(biāo)點符號自動替換中文標(biāo)點符號的優(yōu)雅方法
這篇文章主要介紹了WordPress取消英文標(biāo)點符號自動替換中文標(biāo)點符號的優(yōu)雅方法,需要的朋友可以參考下2017-04-04- 這篇文章主要給大家介紹了wordpress自定義上傳文件類型的方法,如WordPress默認允許上傳 .exe 后綴名的可運行文件,那么我們怎么禁止用戶在WordPress后臺發(fā)表文章時上傳 .e2016-12-19
- 大家可能發(fā)現(xiàn)了當(dāng)實現(xiàn)了前端用戶中心,后臺控制面板就失去了作用,那么限制其他用戶進入后臺控制面板就很有必要了!那么我們要怎么做呢?通過下面這篇文章分享的方法后,只2016-12-19
WordPress實現(xiàn)回復(fù)文章評論后發(fā)送郵件通知的功能
這篇文章主要介紹了WordPress實現(xiàn)回復(fù)文章評論后發(fā)送郵件通知的功能,涉及wordpress針對評論與郵件的相關(guān)操作技巧,需要的朋友可以參考下2016-10-11WordPress使用自定義文章類型實現(xiàn)任意模板的方法
這篇文章主要介紹了WordPress使用自定義文章類型實現(xiàn)任意模板的方法,可通過自定義文章類型來實現(xiàn)任意模版的使用,具有一定參考借鑒價值,需要的朋友可以參考下2016-10-11WordPress后臺地址被改導(dǎo)致無法登陸后臺的簡單解決方法
這篇文章主要介紹了WordPress后臺地址被改導(dǎo)致無法登陸后臺的簡單解決方法,簡單分析了后臺無法登陸的原因與相應(yīng)的解決方法,涉及針對wordpress配置項的簡單修改,需要的朋友2016-10-11