截断自定义帖子类型内容

时间:2012-01-04 作者:Dzul

我正在定制一个用于显示推荐信的小部件。这个小部件工作正常,只是它显示了所有内容,我想限制文本/字符,这样网站的页脚看起来就平衡了。以下是小部件代码片段:

function widget( $args, $instance ) {
    extract( $args );

    $title = $instance[\'title\'] ;
    $count = $instance[\'count\'];
    $url = $instance[\'url\'];

    echo $before_widget;
    echo \'<div class="testimonials-container">\'; 
    if ( $title )
        echo \'<h3 class="replace"><a href="\' . $url . \'">\' . $title . \'</a></h3>\' ;
        ?>
    <?php 
        $query = new WP_Query();
        $query->query(\'post_type=testimonial&posts_per_page=\'.$count);
        ?>
        <?php if ($query->have_posts()) : while ($query->have_posts()) : $query->the_post(); ?>
            <div class="testimonials-content">
            <?php limit_text(the_content(), 15); ?>
            <span class="testimonial-name"><em>         
            <?php echo get_post_meta(get_the_ID(), \'pkb_author_name\', true); ?></em></span>
            </div>
        <?php endwhile; endif;?>
要截断它,我使用以下方法:

function limit_text($text, $limit) {
    if (strlen($text) > $limit) {
        $words = str_word_count($text, 2);
        $pos = array_keys($words);
        $text = substr($text, 0, $pos[$limit]) . \'...\';
    }

    return $text;
}
它不起作用。我做错了什么?

1 个回复
最合适的回答,由SO网友:zeo 整理而成

未经测试。但请尝试:<?php echo apply_filters( \'the_content\', limit_text( get_the_content(), 15 ) ); ?>

15是字符限制还是字数限制?如果单词,使用strlen是不正确的。

尝试使用WPwp_trim_words() 相反

结束

相关推荐

Dividing widgets in sidebar?

我有一个自定义的边栏叫做页脚。我使用以下代码显示此侧栏:<?php if ( !function_exists(\'dynamic_sidebar\') || !dynamic_sidebar(\'Footer\') ) : ?> (maybe I should do something in this line?) :) <?php endif; ?> 这很顺利,但现在几乎每个主题都允许用户将其小部件放在列中,就像这样:http://ka