WordPress内置的wp_trim_words函数用于截取文章内容中的文字,并可以指定截取的长度和后缀。要修改wp_trim_words函数,可以按照以下步骤进行:
function custom_trim_words( $text, $num_words = 55, $more = null ) {
$original_text = $text;
$text = wp_strip_all_tags( $text );
$words_array = preg_split( "/[\n\r\t ]+/", $text, $num_words + 1, PREG_SPLIT_NO_EMPTY );
if ( count( $words_array ) > $num_words ) {
array_pop( $words_array );
$text = implode( ' ', $words_array );
$text .= $more;
} else {
$text = implode( ' ', $words_array );
}
/**
* Filters the text content after words have been trimmed.
*
* @since 3.3.0
*
* @param string $text The trimmed text.
* @param int $num_words The number of words to trim the text to. Default 55.
* @param string $more An optional string to append to the end of the trimmed text, e.g. ….
* @param string $original_text The text before it was trimmed.
*/
return apply_filters( 'wp_trim_words', $text, $num_words, $more, $original_text );
}
现在,你可以在主题文件中使用custom_trim_words函数来代替默认的wp_trim_words函数。例如,在文章循环中使用以下代码:
<?php echo custom_trim_words( get_the_content(), 20, '...' ); ?>
这将截取文章内容的前20个单词,并在末尾添加省略号。
注意:在修改WordPress内置函数时,请确保了解函数的用途和参数,并测试修改后的功能是否正常工作。
领取专属 10元无门槛券
手把手带您无忧上云