在WordPress中,wp_trim_words函數用于截斷字符串并限制單詞數量。如果你希望在截斷時保持單詞的完整性(讓單詞顯示全),可以通過自定義函數來實現。
以下是一個示例代碼,展示如何修改你的代碼以確保截斷時顯示完整的單詞:
function custom_trim_content($content, $num_words = 360, $more = '') {$content = wp_strip_all_tags($content);$content = apply_filters('the_content', $content);$content = str_replace(']]>', ']]>', $content);// Split the content into words$words = explode(' ', $content);// Trim the content to the specified number of words$trimmed_content = array_slice($words, 0, $num_words);// Join the words back into a string$trimmed_content = implode(' ', $trimmed_content);// Check if the content was trimmedif (count($words) > $num_words) {$trimmed_content .= $more;}return $trimmed_content;
}// Usage
$trimmed_content = custom_trim_content($post->post_content, 360, '');
echo $trimmed_content;
代碼說明
wp_strip_all_tags和apply_filters:
wp_strip_all_tags用于移除HTML標簽。
apply_filters用于應用WordPress的過濾器,確保內容經過所有必要的處理。
explode:
將內容按空格分割成單詞數組。
array_slice:
截取數組中的前$num_words個單詞。
implode:
將截取后的單詞數組重新組合成字符串。
$more:
如果內容被截斷,可以在末尾添加自定義的字符串,例如“…”。
使用方法
將上述代碼添加到你的主題的functions.php文件中,然后在需要的地方調用custom_trim_content函數即可。
這樣,你就可以確保在截斷內容時不會截斷單詞,而是顯示完整的單詞。
原文
http://wordpress.waimaoyes.com/jianzhan/158.html