如何在字压中设置the_content() 和 the_excerpt() 的字符限制

2022-08-30 17:19:42

如何在wordpress中对the_content()和the_excerpt()设置字符限制?我只找到了字数限制的解决方案 - 我希望能够设置输出的确切字符数。


答案 1

或者更简单,无需创建过滤器:使用PHP将字符串截断到一定宽度(长度)。只需确保使用其中一种语法即可。例如,内容:mb_strimwidthget_

<?php $content = get_the_content(); echo mb_strimwidth($content, 0, 400, '...');?>

更新 2022

mb_strimwidth如果使用注释标记,则会中断 HTML。使用官方的文字压机功能wp_trim_words

<?php $content = get_the_content(); echo wp_trim_words( get_the_content(), 400, '...' );?>

这会将字符串剪切为 400 个字符,并以 .只需通过指向带有 的永久链接,在末尾添加一个“阅读更多”链接即可。...get_permalink()

<a href="<?php the_permalink() ?>">Read more </a>

当然,您也可以在第一行中构建。而不仅仅是替换为read more'...''<a href="' . get_permalink() . '">[Read more]</a>'


答案 2

您可以使用Wordpress过滤器回调函数。在主题的目录中,找到或创建一个名为的文件,并在中添加以下内容:functions.php

<?php   
  add_filter("the_content", "plugin_myContentFilter");

  function plugin_myContentFilter($content)
  {
    // Take the existing content and return a subset of it
    return substr($content, 0, 300);
  }
?>

这是您提供的一个函数,每次通过 请求帖子类型(如帖子/页面)的内容时,都会调用该函数。它为您提供内容作为输入,并将使用您从函数返回的任何内容进行后续输出或其他筛选器函数。plugin_myContentFilter()the_content()

您还可以用于其他函数,例如在请求摘录时提供回调函数。add_filter()the_excerpt()

有关更多详细信息,请参阅 Wordpress 筛选器参考文档


推荐