wordpress內(nèi)置函數(shù) the_excerpt() 是個(gè)使用頻率較高的函數(shù),它是用來獲取當(dāng)前文章摘要的,以[…] 結(jié)尾,如果在文章中沒有編輯內(nèi)容摘要字段,則默認(rèn)截取文章的前55個(gè)字的內(nèi)容,默認(rèn)截取的字段去掉HTML標(biāo)簽和圖形,并且一定要在循環(huán)內(nèi)使用。
the_excerpt() 函數(shù)使用的方法也非常簡(jiǎn)單,用法如下:
這個(gè)標(biāo)簽沒有任何的參數(shù),直接使用即可,但函數(shù)默認(rèn)的設(shè)置有時(shí)候并不能滿足用戶的需要,比如國內(nèi)用戶以[…] 結(jié)尾就很不習(xí)慣,另外截取前 55 個(gè)字符有時(shí)候會(huì)太少了,還有文章摘要的結(jié)尾是不是我們可以自定義加個(gè)更多的鏈接呢,這些自定義只需要在主題 functions.php 文件中加入相應(yīng)的代碼就可以了。
functions.php中的代碼
//設(shè)定摘要的長(zhǎng)度
function new_excerpt_length($length) {
return 150;
}
add_filter('excerpt_length', 'new_excerpt_length');
//把摘要默認(rèn)的結(jié)尾[...]
換成...
function new_excerpt_more(){
global $post;
return " <a href="". get_permalink($post->ID) . "">閱讀更多</a>";
}
add_filter('excerpt_more', 'new_excerpt_more');
//在頁面中直接調(diào)用摘要
<?php the_excerpt();?>
//也可以采用這種方法,但是測(cè)試的結(jié)果卻是摘要字符無法截?cái)?,如果能截?cái)噙@個(gè)是比較完美的一個(gè)方法
<?php if(has_excerpt()){
the_excerpt();
} else{
echo mb_strimwidth(strip_tags(apply_filters('the_content', $post->post_content)), 0, 75, "…");
}?>
get_the_excerpt() 返回文章摘要賦值給變量