无摘录获取前20个单词

时间:2018-01-05 作者:Per

我正在做我自己的自定义主题(第一个自定义WP工作,所以我是一个真正的初学者),需要帮助列出最近帖子列表的前20个单词。

我用手动解决了这个问题?但我只想知道内容的前20个字,但不知道如何最好地做到这一点。应用程序位于我的起始页的列表中。

我当前的代码如下所示

    <?php
    $cdRP = get_theme_mod(\'cd_recent_posts\', \'3\');
    $args = array( \'numberposts\' => $cdRP );
    $recent_posts = wp_get_recent_posts( $args );
    foreach( $recent_posts as $recent ){
        echo \'<div class="grid-cell"><a class="fpItems" href="\' . get_permalink($recent["ID"]) . \'">\';
        if ( has_post_thumbnail( $recent["ID"]) ) {
            echo  \'<div>\' . get_the_post_thumbnail($recent["ID"],\'thumbnail\') . \'</div>\';
        }
        echo \'<div>\'
        . \'<h3>\' . $recent["post_title"] . \'</h3>\'

        . \'</div></a></div>\';
    }
    wp_reset_query();
?>
所有这些都发生在循环之外。我试图在论坛中找到答案,但失败了,如果之前有人问过我,我很抱歉。尽我最大努力学习编写这个很棒的工具,我自己:)

3 个回复
最合适的回答,由SO网友:Nicolai Grossherr 整理而成

使用wp_trim_words()

wp_trim_words( get_the_content(), 20 )
因为你在主回路之外

wp_trim_words( $recent[ \'post_content\' ], 20 )
如果要将相同的筛选器应用于the_content() 在主回路中

wp_trim_words( apply_filters( \'the_content\', $recent[ \'post_content\' ] ), 20 )

SO网友:Per

工作解决方案很简单:)

    <?php
    $cdRP = get_theme_mod(\'cd_recent_posts\', \'3\');
    $args = array( \'numberposts\' => $cdRP );
    $recent_posts = wp_get_recent_posts( $args );
    foreach( $recent_posts as $recent ){
        echo \'<div class="grid-cell"><a class="fpItems" href="\' . get_permalink($recent["ID"]) . \'">\';
        if ( has_post_thumbnail( $recent["ID"]) ) {
            echo  \'<div>\' . get_the_post_thumbnail($recent["ID"],\'thumbnail\') . \'</div>\';
        }
        echo \'<div>\'
        . \'<h3>\' . $recent["post_title"] . \'</h3>\'

        . wp_trim_words( $recent["post_content"], 20 )

        . \'</div></a></div>\';
    }
    wp_reset_query();
?>

SO网友:Ben Goodman

您可以通过以下方法实现这一点:;

$content = get_the_content();
echo substr($content, 0, 20);

$content = get_the_excerpt();
echo substr($content, 0, 20);
这将字符数限制为20。

结束