wordpress设置摘要字数

wordpress设置摘要字数的问题

下载了一个wordpress外国主题,可是正常使用还好,可是在摘要的字数上出现了问题。这个主题是自定义了一个摘要的JS。如下:

<?php

function thb_excerpt($excerpt_length, $added)
{
$text = get_the_content('');
$text = strip_shortcodes( $text );
$text = apply_filters('the_content', $text);
$text = str_replace(']]>', ']]>', $text);
$text = strip_tags($text, '<em><strong><i><b>');

$excerpt_more = apply_filters('excerpt_more', ' ' . $added);
$words = preg_split("/[\n\r\t ]+/", $text, $excerpt_length + 1, PREG_SPLIT_NO_EMPTY);
if ( count($words) > $excerpt_length ) {
array_pop($words);
$text = implode(' ', $words);
$text = $text . $excerpt_more;
} else {
$text = implode(' ', $words);
}
echo $text;
}
function ShortenText($text, $chars_limit)
{
$text = strip_tags($text);
$text = strip_shortcodes( $text );

$chars_text = strlen($text);
$text = $text." ";
$text = substr($text,0,$chars_limit);
$text = substr($text,0,strrpos($text,' '));

if ($chars_text > $chars_limit) {
$text = $text."...";
}
$text = preg_replace( '|\[(.+?)\](.+?\[/\\1\])?|s', '', $text);
return $text;
}
在首页调用的时候是
<div class="post-content">
<p><?php echo ShortenText(get_the_excerpt(), 250); ?></p>
<?php echo thb_DisplayPostMeta(true,true,true,false); ?>
我该如何修改摘要的字数啊,求大神
收起
933***@qq.com   |  浏览 1620 次
推荐于2016-10-15 22:17:57 最佳答案

 方法有很多。

  • 修改文件法

找到WorsPress目录wp-includes下formating.php文件,查找unction wp_trim_excerpt($text)函数,再找到excerpt_length,默认值是55,修改成需要的值即可。

  • 修改function.php法

function custom_excerpt_length( $length ) {
    return 200;
}
add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );
200为字数,可以修改为自己的值。
  • 还有就强大的插件。

WP CN Excerpt插件不错。

淡淡的雅兴 

采纳率:90% 来自团队:百度电脑 擅长: 暂未定制

其他回答

250这个数字是控制摘要的数字,但是一般来说,我们没有设置摘要的习惯,所以我们想要的摘要,实际上是控制内容的长度,,换一个代码就行了。

<?php
echo wp_trim_words( get_the_content(),500);// 截取500字的文章内容
?>
并且也不需要你上面的JS代码
 本回答被提问者和网友采纳
6290523    |   发布于2014-03-25 00:00
评论  
4   0
直接修改<p><?php echo ShortenText(get_the_excerpt(), 250); ?></p>里面的250,这个是字符数的限制
你是要改成什么样的



怎么改变wordpress文章摘要字数

默认是截取第一段 我想再多点 怎么处理 谢谢哦
匿名   |  浏览 1661 次
推荐于2016-11-29 05:08:48 最佳答案

方法有很多。

  • 修改文件法

找到WorsPress目录wp-includes下formating.php文件,查找unction wp_trim_excerpt($text)函数,再找到excerpt_length,默认值是55,修改成需要的值即可。

  • 修改function.php法

1
2
3
4
5
function  custom_excerpt_length(  $length  ) {
     return  200;
}
add_filter(  'excerpt_length' 'custom_excerpt_length' , 999 );
200为字数,可以修改为自己的值。
  • 还有就强大的插件。

WP CN Excerpt插件不错。

雷镇大海 

采纳率:37% 擅长: 暂未定制

其他回答

按你简单描述,我个人猜测你是想让首页或者分类页下的每篇文章输出简要描述吧?

那么你找找index.php和archive.php或category.php的文件,找到类似

1
<?php  echo   mb_strimwidth( strip_tags (apply_filters( 'the_content' $post ->post_content)), 0, 170, "……" ); ?>

代码,类似170的数字就是改变字数的了。

题外话,其实,get_the_excerpt() 是获取文章摘要的函数。调用方法是在写文章时候,WP右上角有个“显示选项”按钮,打开,勾选“摘要”,则会在文章编辑框下出现摘要填写栏,这个是自定义摘要的,似乎不限字数,可以自己自定义添加。

具体怎么应用看你自己需要了




显示 wordpress 文章摘要函数the_excerpt

2015年03月09日   PHP开源系统   评论 4 条   阅读 27 views 次

wordpress 内置函数 the_excerpt() 是个使用频率较高的函数,它是用来获取当前文章摘要的,以[...]结尾,如果在文章中没有编辑内容摘要字段,则默认截取文章的前55个字的内容,默认截取的字段去掉HTML标签和图形,并且一定要在循环内使用。

the_excerpt() 函数使用的方法也非常简单,用法如下:

这个标签没有任何的参数,直接使用即可,但函数默认的设置有时候并不能满足用户的需要,比如国内用户以 以[...]结尾就很不习惯,另外截取前 55 个字符有时候会太少了,还有文章摘要的结尾是不是我们可以自定义加个更多的链接呢,这些自定义只需要在主题 functions.php 文件中加入相应的代码就可以了,下面夏日博客教大家如何进行更自定义 wordpress 文章摘要的内容。

控制摘要的字数:

1
2
3
4
5
/*控制摘要字数*/
function new_excerpt_length( $length ) {
return 150;
}
add_filter( "excerpt_length" , "new_excerpt_length" );

return 150 是返回的字符了,两个字符一个汉字,这个可以根据自己的需要进行设置。

更改摘要末尾的默认显示样式:

1
2
3
4
function new_excerpt_more( $excerpt ) {
return str_replace ( "[...]" , "..." , $excerpt );
}
add_filter( "wp_trim_excerpt" , "new_excerpt_more" );

the_excerpt() 函数默认是以[...]结尾的,这里我们利用 php 的替换函数 str_replace 将其替换成 ...,也可以改成你自己想要的符号。

添加自定义结尾:

1
2
3
4
5
function new_excerpt_more( $more ) {
global $post ;
return " <a href=" ". get_permalink($post->ID) . " ">阅读更多</a>" ;
}
add_filter( "excerpt_more" , "new_excerpt_more" );

在文章摘要的未端添加一个 阅读更多 的链接,这样看起来更符合用户的阅读习惯了,阅读更多可以改成自己想要的内容。

上面的代码均添加到主题 functions.php 文件中即可,另外,the_excerpt() 函数只能用在循环体内,否则的话会出现错误。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值