在對當前帖子應用了多個過濾器后顯示當前帖子的摘錄,包括自動p格式,該格式將雙換行符轉換為HTML段落。如果沒有明確的摘錄,它將使用get_the_excerpt()首先生成完整的帖子內容的精簡版。
- 所需函數:
the_excerpt()
- 函數文檔:官方文檔
精簡版本的末尾包含“更多”標簽,默認情況下為[…]或“螺旋”符號。默認情況下,用戶提供的摘錄不是這樣的符號。要增加它,您必須修改原始$后> post_excerpt手動之前調用模板the_excerpt()?,添加一個過濾器“get_the_excerpt”與優先級低于10,或添加過濾器“wp_trim_excerpt”(比較第一個和第二個參數,因為此功能不會以任何方式更改用戶提供的摘錄)。
使用方法:
在日志的循環內輸入:
<?php the_excerpt(); ?>
WordPress的顯示摘要函數the_excerpt() 用的比較多,調用時,在循環內使用即可,并且不需要參數,但是默認他只顯示55個字符,并且末尾以[...]結尾,若對這兩個更改只需要在主題的functions.php增加以下兩小段函數即可:
重新定義摘要的字數(78):
function wpdocs_custom_excerpt_length( $length ) {
return 78;
}
add_filter( 'excerpt_length', 'wpdocs_custom_excerpt_length', 999 );
使用過濾器控制摘錄長度
默認情況下,摘錄長度設置為55個字。要使用excerpt_length
過濾器
將摘要長度更改為20個字,請將以下代碼添加到functions.php
重新定義結尾符號,改為文章的鏈接:
function wpdocs_excerpt_more( $more ) {
if ( ! is_single() ) {
$more = sprintf( '<a class="read-more" href="%1$s">%2$s</a>',
get_permalink( get_the_ID() ),
__( 'Read More', 'textdomain' )
);
}
return $more;
}
add_filter( 'excerpt_more', 'wpdocs_excerpt_more' );
使“Read More”字符串鏈接到該帖子:
將其放置在主題中functions.php
以使“更多”鏈接鏈接到該帖子
通用判斷:
- 參考鏈接:https://blog.csdn.net/pengxiao87/article/details/86319969
<?php
if (has_excerpt()) {
echo $description = get_the_excerpt(); //文章編輯中的摘要
}else {
echo mb_strimwidth(strip_tags(apply_filters('the_content', $post->post_content)), 0, 170,"……"); //文章編輯中若無摘要,自定截取文章內容字數做為摘要
}
?>
函數介紹:
有關更多詳細信息,請參見get_the_excerpt()。
自動生成的摘錄還將刪除所有短代碼和標簽。它被修整為一個單詞邊界,默認長度為55個單詞。對于使用(或可以用)單個字符描述單詞的語言(即東亞語言),單詞邊界實際上就是字符。
注意:如果當前帖子是附件(例如,attachment.php和image.php模板循環中的附件),則顯示附件標題。字幕不包含“ […]”文本。
與<!– more–> quicktag的
摘錄提供了使用<!-?more-?>?quicktag?的替代方法。盡管此more標簽需要帖子作者在帖子內容中手動創建“拆分”,然后將其用于在索引頁面上生成“更多信息”鏈接,但摘錄要求(但不一定要求)帖子作者來提供完整帖子內??容的“預告片”。
該<! -更多- >?quicktag需要模板使用the_content()而使用摘錄要求,并允許,模板作家明確選擇是否顯示完整的帖子(使用the_content()?)或摘錄(使用the_excerpt()?)。
然后可以基于諸如所使用的模板,頁面的類型,帖子的類別等因素來選擇是顯示完整的帖子還是摘錄。換句話說,使用<!-?more-?>快速標簽,作者可以自行決定要發生的事情,而模板作者可以控制摘錄。而且,盡管<!-more->可以用于使用$ stripteaser參數創建實際的拆分,但是根據特征進行區分將非常困難且復雜,這導致它成為基本上整個站點的選擇。
補充:
- 參考文檔:https://blog.csdn.net/csnewdn/article/details/56482732
輸出當前文章的摘要,并會附上”[…]”,這不是”更多”的鏈接。如果你沒提供一篇文章明確的摘要(后臺文章編輯器的可選摘要區域),它將自動摘錄文章內容中前55個字作為摘要。而HTML標簽和圖片都會從摘要內容中去除。此標簽必須用在主循環里。