WP(PHP)中的修剪文本



我是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

最新更新