摘录-如果为空,则不使用主要内容

时间:2011-05-17 作者:v3nt

正在尝试停止将\\u摘录()从默认设置为\\u内容()(如果为空)。

这种方法很有效-它似乎返回“xxx”,所以我认为has\\u extract()不起作用?

function get_link_excerpt(){
    if(has_excerpt()){
        $LinkExcerpt = get_the_excerpt();
        return $LinkExcerpt."...";
    }
    return \'no excerpt\'; 
}
add_filter(\'get_the_excerpt\', \'get_link_excerpt\');
控制这种情况的最佳方法是什么?

最佳,Dc

1 个回复
最合适的回答,由SO网友:Jan Fabry 整理而成

WordPresssets up a default filter for get_the_excerpt: wp_trim_excerpt(). 正是这个函数将generate an excerpt from the content "if needed". 如果您不希望出现这种行为,只需解开过滤器即可:

add_action( \'init\', \'wpse17478_init\' );
function wpse17478_init()
{
    remove_filter( \'get_the_excerpt\', \'wp_trim_excerpt\' );
}
现在get_the_excerpt() 将只返回post_excerpt 数据库字段。如果要在某个内容为空时返回,只需检查以下情况:

add_filter( \'get_the_excerpt\', \'wpse17478_get_the_excerpt\' );
function wpse17478_get_the_excerpt( $excerpt )
{
    if ( \'\' == $excerpt ) {
        return \'No excerpt!\';
    }
    return $excerpt;
}
没有必要打电话get_the_excerpt() - 它甚至可能引入无休止的递归,因为它会再次应用您的过滤器!

结束

相关推荐

如何在类别描述上调用_excerpt(或等效项)?

在下面的代码中,与其写出整个描述字段($category->description),不如如何调用与\\u摘录等效的内容?我将“more”标记放在类别描述的第一段之后,并使用可视化编辑器编辑我的类别描述。function show_category_index($content){ $categories=get_categories(\'exclude=1&exclude_tree=1\'); echo $content; echo \'&l