wordpress 自定义摘录长度不起作用

问题描述 投票:0回答:4

我的functions.php中有这段代码

function custom_excerpt_length() {

return 15;

}

add_filter('excerpt_length', 'custom_excerpt_length');

但它不起作用,因为它给了我全文,而不是我指定的 15 个单词。由于这个原因,我在网站上设置的网格不正确。

我的电影网格

提前致谢

php wordpress grid
4个回答
1
投票

也可以使用此代码来获取多种类型的摘录

function 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;
    }

    function content($limit) {
      $content = explode(' ', get_the_content(), $limit);
      if (count($content)>=$limit) {
        array_pop($content);
        $content = implode(" ",$content).'...';
      } else {
        $content = implode(" ",$content);
      } 
      $content = preg_replace('/\[.+\]/','', $content);
      $content = apply_filters('the_content', $content); 
      $content = str_replace(']]>', ']]>', $content);
      return $content;
    }

然后在您的模板代码中您只需使用..

<?php echo excerpt(25); ?>

0
投票

添加第三个参数并且你还没有提到函数参数它将起作用

function custom_excerpt_length( $length ) {
    return 15;
}
add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );

0
投票

我也遇到过这个问题,你的代码是对的。 要解决此问题,只需转到 WordPress 仪表板 > 帖子 > 所有帖子,然后在有问题的帖子中单击“编辑”,在编辑器中确保摘录为空,然后单击“更新”。 Click here to see the image


0
投票

如果您在古腾堡编辑器中使用“摘录”块,并且尝试为其设置默认长度(或除最初允许的 10-100 个单词值之外的任何内容),您可能会发现

excerpt_length
过滤器对块没有影响,您甚至不能使用
the_excerpt
过滤器来覆盖摘录的内容。这是因为 WordPress 摘录块中的最新更新

但是,您可以使用以下代码来编辑摘录古腾堡块的默认块设置:

function filter_metadata_registration( $metadata ) {
    if ($metadata['name'] === 'core/post-excerpt') {
        $metadata['attributes']['excerptLength'] = [
            'type' => 'number',
            'default' => 9999,
        ];
    }
    return $metadata;
};
add_filter( 'block_type_metadata', 'filter_metadata_registration' );

更多信息:https://core.trac.wordpress.org/ticket/59348

© www.soinside.com 2019 - 2024. All rights reserved.