我看不到如何在摘录中显示链接。
许多帖子建议尝试以下内容,但我无法提供摘录中的链接。我错过了什么?
在内部functions.php
我定义了我的主题:
function improved_trim_excerpt( $text = \'\', $post = null ) {
$raw_excerpt = $text;
if ( \'\' === trim( $text ) ) {
$post = get_post( $post );
$text = get_the_content( \'\', false, $post );
$text = strip_shortcodes( $text );
$text = excerpt_remove_blocks( $text );
/** This filter is documented in wp-includes/post-template.php */
$text = apply_filters( \'the_content\', $text );
$text = str_replace( \']]>\', \']]>\', $text );
$text = preg_replace(\'@<script[^>]*?>.*?</script>@si\', \'\', $text);
$text = strip_tags($text, \'<p>\'); // to keep par
$text = strip_tags($text, \'<a>\'); // to keep links
/* translators: Maximum number of words used in a post excerpt. */
$excerpt_length = intval( _x( \'55\', \'excerpt_length\' ) );
/**
* Filters the maximum number of words in a post excerpt.
*
* @since 2.7.0
*
* @param int $number The maximum number of words. Default 55.
*/
$excerpt_length = (int) apply_filters( \'excerpt_length\', $excerpt_length );
/**
* Filters the string in the "more" link displayed after a trimmed excerpt.
*
* @since 2.9.0
*
* @param string $more_string The string shown within the more link.
*/
$excerpt_more = apply_filters( \'excerpt_more\', \' \' . \'[…]\' );
$text = wp_trim_words( $text, $excerpt_length, $excerpt_more );
}
/**
* Filters the trimmed excerpt string.
*
* @since 2.8.0
*
* @param string $text The trimmed text.
* @param string $raw_excerpt The text prior to trimming.
*/
return apply_filters( \'improved_trim_excerpt\', $text, $raw_excerpt );
}
我在
content.php
remove_filter(\'get_the_excerpt\', \'wp_trim_excerpt\');
add_filter(\'get_the_excerpt\', \'improved_trim_excerpt\');
$main_content = apply_filters( \'the_content\', get_the_excerpt() );
SO网友:Trisha
首先,我建议您将p和a标记组合成一行,如下所示:
$text = strip_tags($text, \'<p><a>\');
其次,remove\\u过滤器和add\\u过滤器应该放在函数中。php文件,而不是内容。php。。。。。将这些行移到$text=strip\\u标记的正下方。。。。。
我认为您不需要包含$main\\u content=apply\\u过滤器的行,因为我以前从未见过这样的行。在不使用它的情况下,在移动其他两行之后尝试它,但如果您发现需要它,那么它也会进入您的函数中。php文件。
编辑:这是我的全部代码,以防对其他人有所帮助。这可以很好地保留粗体(and)、斜体(and)和链接()。这些是我在摘录中允许的唯一标记,但可以根据您的需要进行修改。这是我的孩子主题的功能。php文件,这样可以避免主题更新。
// Improves the look of the excerpt, more words, allows bolding
function improved_trim_excerpt($text) {
$raw_excerpt = $text;
if ( \'\' == $text ) {
$text = get_the_content(\'\');
$text = strip_shortcodes( $text );
$text = apply_filters(\'the_content\', $text);
$text = str_replace(\'\\]\\]\\>\', \']]>\', $text);
$text = strip_tags($text, \'<b><strong><em><i><a>\');
$excerpt_length = apply_filters(\'excerpt_length\', 45);
$newexcerpt_more = apply_filters(\'excerpt_more\', \'new_excerpt_more\');
$words = preg_split("/[\\n\\r\\t ]+/", $text, $excerpt_length + 1, PREG_SPLIT_NO_EMPTY);
if ( count($words) > $excerpt_length ) {
array_pop($words);
$text = implode(\' \', $words);
$text = $text . $newexcerpt_more;
$text = force_balance_tags( $text );
} else {
$text = implode(\' \', $words);
$text = force_balance_tags( $text );
}
}
return $text;
}
remove_filter(\'get_the_excerpt\', \'wp_trim_excerpt\');
add_filter(\'get_the_excerpt\', \'improved_trim_excerpt\');