WordPress 技巧:正确获取日志摘要

我们知道通过 WordPress 函数 get_the_excerpt() 可以获取日志的摘要,如果没有摘要,它会自动获取内容,并且截取。但是由于无法正确统计中文字符数,这个函数总是无法截取好内容,显得摘要长短不一,所以我撰写了下面这个函数来解决这个问题。

<br />
function get_post_excerpt($post, $excerpt_length=240){<br />
    if(!$post) $post = get_post();</p>
<p>    $post_excerpt = $post->post_excerpt;<br />
    if($post_excerpt == ''){<br />
        $post_content = $post->post_content;<br />
        $post_content = do_shortcode($post_content);<br />
        $post_content = wp_strip_all_tags( $post_content );</p>
<p>        $post_excerpt = mb_strimwidth($post_content,0,$excerpt_length,'…','utf-8');<br />
    }</p>
<p>    $post_excerpt = wp_strip_all_tags( $post_excerpt );<br />
    $post_excerpt = trim( preg_replace( "/[\n\r\t ]+/", ' ', $post_excerpt ), ' ' );</p>
<p>    return $post_excerpt;<br />
}<br />

将上面的代码复制到当前主题的 functions.php,然后使用下面的方式调用:

</p>
<p><?php echo get_post_excerpt(); ?></p>
<p>
标签:

热门文章