Show post excerpt

时间:2017-04-04 作者:name name2

我想显示几个帖子摘要,所以我创建了函数

function my_excerpt($limit) {
    $excerpt = explode(\' \', get_the_excerpt(), $limit);
    if (count($excerpt)>=$limit) {
        array_pop($excerpt);
        $excerpt = implode(" ",$excerpt).\'...\';
    } else {
        $excerpt = implode(" ",$excerpt);
    }
    $excerpt = preg_replace(\'`[[^]]*]`\',\'\',$excerpt);
    return $excerpt;
}
我使用它:

<?php  echo bereza_excerpt(35); ?>
但我有个问题-我无法保存帖子格式。

是否可以重新创建此功能并将文本格式保存在文章摘录中?

1 个回复
SO网友:WebElaine

一种选择是使用substr 在您的功能中:

function my_excerpt($limit) {
    $excerpt = get_the_excerpt();
    if(strlen($excerpt) > $limit) {
        // trim to $limit characters
        $excerpt = substr($excerpt, 0, $limit);
        // remove any truncated words
        $excerpt = substr($excerpt, 0, strippos($excerpt, " "));
        $excerpt = trim(preg_replace(\'/\\s+/\', \' \', $excerpt));
    }
    return $excerpt;
}
另一种方法是过滤摘录,这将更改站点范围内所有摘录的长度:

add_filter(\'excerpt_length\', \'my_excerpt_length\');
function my_excerpt_length($length) {
    return 30;
}

相关推荐

如何处理多个forloop?

I have and order\\u id as array但是wc_get_order 一次只接受一个id如何循环使用order\\u id并让项目id和项目名称的列表?我在课堂上使用这个。如果按如下所示传递单个id,则其工作正常 public function getStuffDone() { order_id =array(358,368) $order = wc_get_or