我是PHP的新手,并试图修剪以下代码的('信息')部分生成的文本(在我的自定义WP主题中):
<div class="information"><?php echo get_post_meta(get_the_ID(),'information',true); ?></div>
每个帖子都有其信息的不同lenght(基本上像摘录,但从每个帖子中的自定义字段中拉出),这会使我的存档/博客页面混乱,因为我使用了3列网格。我需要在存档页面上看到的所有帖子中的lenght同样长,通过限制"信息"文本不只是说150个字符长。
例如,我看到此代码中的命令,例如取自默认的WP文件,但似乎无法将其包裹在上面看到的我自己的代码上,以使其像我想要的那样工作:
<?php
et_divi_post_meta();
if ( 'on' !== et_get_option( 'divi_blog_style', 'false' ) || ( is_search() && ( 'on' === get_post_meta( get_the_ID(), '_et_pb_use_builder', true ) ) ) ) {
truncate_post( 270 );
} else {
the_content();
}
?>
这是我想要的/谈论:
之前:
帖子1我是一个WordPress的帖子,带有长文本,应该不长,因为它使存档页面的3列设置看起来很愚蠢。
之后:
帖子1我是WordPress的帖子,文本很长,不应该太长...
我该怎么做?
谢谢!
您可以使用substr()php函数获取字符串的一部分。
查看此示例功能。
function trimResult($string, $len = 150){
if(strlen($string)> $len){
$string = substr($string,0,$len) . "..."; // to let the user know that was truncated...
}
return $string;
}
参考:http://php.net/substr
特定的代码示例,将是一个更好的解决方案,将PHP功能包含在全局文件中。
<?php
function trimResult($string, $len = 150){
if(strlen($string)> $len){
$string = substr($string,0,$len) . "..."; // to let the user know that was truncated...
}
return $string;
}
?>
<div class="information"><?php echo trimResult(get_post_meta(get_the_ID(),'information',true)); ?></div>
希望它有帮助。
$post = "I am a wordpress post, with a long text, that should not be so long, as it makes the 3 column setup of the archive page look stupid.";
$post = mb_strimwidth($post, 0, 70, "...");
echo $post;
结果:"我是一个wordpress帖子,有一个长文本,应该不长..."
添加...如果字符串太长php