摘录在->wp includes/formatting中创建。php使用以下代码:
function wp_trim_excerpt($text) { // Fakes an excerpt if needed
global $post;
if ( \'\' == $text ) {
$text = get_the_content(\'\');
$text = apply_filters(\'the_content\', $text);
$text = str_replace(\'\\]\\]\\>\', \']]>\', $text);
$text = strip_tags($text);
$excerpt_length = 55;
$words = explode(\' \', $text, $excerpt_length + 1);
if (count($words)> $excerpt_length) {
array_pop($words);
array_push($words, \'[...]\');
$text = implode(\' \', $words);
}
}
return $text;
}
要更改WP通常为摘录显示的行为,请首先删除此函数(不是从核心代码中删除,而是使用remove\\u filter(),方法是将其放置在函数中。php:
remove_filter(\'get_the_excerpt\', \'wp_trim_excerpt\');
接下来,您需要创建一个新函数来控制摘录,以便可以从WP core复制上述函数作为起点。给它起个不同的名字。然后,改变你需要的。例如,如果要允许在摘录中使用标记,可以修改此行:
$text = strip_tags($text);
对此:
$text = strip_tags($text, \'<b>\');
如果您需要多个允许的html标记,请在后面列出它们。所以你的新函数在你的函数中。php可能如下所示:
function nb_html_excerpt($text) {
global $post;
if ( \'\' == $text ) {
$text = get_the_content(\'\');
$text = apply_filters(\'the_content\', $text);
$text = str_replace(\'\\]\\]\\>\', \']]>\', $text);
$text = strip_tags($text, \'<b>\');
$excerpt_length = 55;
$words = explode(\' \', $text, $excerpt_length + 1);
if (count($words)> $excerpt_length) {
array_pop($words);
array_push($words, \'[...]\');
$text = implode(\' \', $words);
}
}
return $text;
}
最后,您需要告诉WP通过新函数过滤您的摘录。在函数中添加如下过滤器。php:
add_filter(\'get_the_excerpt\', \'nb_html_excerpt\');