看起来是210显示了分类档案的摘录。
如果您使用的是手动摘录,这是一个简单的修复方法。只需将这行代码添加到主题的函数中。php文件。它告诉wordpress通过do\\u shortcode函数/过滤器运行摘录。
add_filter( \'the_excerpt\', \'do_shortcode\' );
如果您没有使用手动摘录,我们必须更深入一点。功能
the_excerpt
仅返回文章摘录是否为空。如果摘录是空的,它不会抓取部分内容并将其丢弃。这意味着WordPress与
the_excerpt
或
get_the_excerpt
沿途某处过滤。在里面
wp-includes/default-filters.php
我们找到了罪魁祸首:
add_filter( \'get_the_excerpt\', \'wp_trim_excerpt\' );
该函数将获取部分帖子内容,同时删除短代码,并将其作为摘录返回:
<?php
function wp_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);
$excerpt_length = apply_filters(\'excerpt_length\', 55);
$excerpt_more = apply_filters(\'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 . $excerpt_more;
} else {
$text = implode(\' \', $words);
}
}
return apply_filters(\'wp_trim_excerpt\', $text, $raw_excerpt);
}
因此,我们需要删除这个默认过滤器,并用我们自己的过滤器重新安装它。
<?php
remove_filter( \'get_the_excerpt\', \'wp_trim_excerpt\', 10 );
add_filter( \'get_the_excerpt\', \'wpse27049_wp_trim_excerpt\', 99, 1 );
function wpse27049_wp_trim_excerpt( $text )
{
if ( \'\' == $text ) {
$text = get_the_content(\'\');
$text = substr( $text, 0, 55 );
$excerpt_more = apply_filters( \'excerpt_more\', \'[...]\' );
$text = $text . $excerpt_more;
}
return $text;
}
或者,如果没有摘录,您可以返回整个内容:
<?php
remove_filter( \'get_the_excerpt\', \'wp_trim_excerpt\', 10 );
add_filter( \'get_the_excerpt\', \'wpse27049_wp_trim_excerpt\', 99, 1 );
function wpse27049_wp_trim_excerpt( $text )
{
if ( \'\' == $text ) {
$text = get_the_content(\'\');
}
return $text;
}
作为插件:
http://pastie.org/2439045