我有一定数量的角色可以放在我要显示的类别中。所以我想知道是否有一种方法可以限制此函数可以输出的字符数量。
我想限制此功能输出:
<?php the_category(', ') ?>
outputs: WordPress, Computers, Blogging
这样的事情:
<?php char_limit(the_category(', '), 14, '...') ?>
outputs: WordPress, Com...
我是php和wordpress的新手,所以关于如何执行的指示会有所帮助。
答案 0 :(得分:4)
echo substr_replace(the_category(', '),"...",14);
我最初建议使用word_wrap(),但不会截断。
答案 1 :(得分:2)
请参阅substr
功能。
答案 2 :(得分:1)
您可以使用子字符串来创建截断函数
function truncate ($str, $length=10, $trailing='...')
{
/*
** $str -String to truncate
** $length - length to truncate
** $trailing - the trailing character, default: "..."
*/
// take off chars for the trailing
$length-=mb_strlen($trailing);
if (mb_strlen($str)> $length)
{
// string exceeded length, truncate and add trailing dots
return mb_substr($str,0,$length).$trailing;
}
else
{
// string was already short enough, return the string
$res = $str;
}
return $res;
}
从here
获得答案 3 :(得分:0)
这将通过省略号
获得它function shorten ($str, $len)
{
if (strlen($str) > $len)
{
return substr($str, 0, $len) . "...";
else
{
return $str;
}
}
答案 4 :(得分:0)
如果你看一下the_category
是什么,它只是一个包装函数:
function the_category( $separator = '', $parents='', $post_id = false ) {
echo get_the_category_list( $separator, $parents, $post_id );
}
只需使用以下内容:
$catList = get_the_category_list(', ');
if(strlen($catList)>14)
$catList = substr($catList,0,14) . "…";
答案 5 :(得分:-1)
您可能想要使用帖子的摘录 - 有一个字段可以填充并显示比第一个x字符更有意义的内容
这是一个解释摘录内容的链接: http://codex.wordpress.org/Excerpt
这是函数引用 http://codex.wordpress.org/Function_Reference/the_excerpt
基本上你可以使用:<?php the_excerpt(); ?>
或在你的情况下:
<?php if ( is_category() || is_archive() ) {
the_excerpt();
} else {
the_content();
} ?>
您可以使用以下方法控制摘录长度:
function new_excerpt_length($length) {
return 20;
}
add_filter('excerpt_length', 'new_excerpt_length');
如果你不想使用摘录的想法,你仍然可以采用旧的方式:
<?php
$string = get_the_content('');
$newString = substr($string, 0, 20);
echo $newString;
?>
希望有所帮助:)
您可能还想看一下插件