从归档页面中的自定义帖子中获取第一个限制词

时间:2017-10-14 作者:Harshad Gole

我已经创建了custom Post type. 现在我正在使用excerpt 在存档页中显示一些有限的单词。但我在主页上以content slider (Owl Carousel) 这给我带来了问题,因为excerpt size.

所以,我决定first 160 words of the post 在上显示archive page. 而不是摘录

还有,我已经Read more 巴顿,我想知道如何把链接

 <?php
 /**
 * Template part for displaying posts
 *
 * @link https://codex.wordpress.org/Template_Hierarchy
 *
 * @package
 */

 ?>

<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>

<div class="row">

        <div class="col-md-3">
            <div class="thumbnail alignleft" style="width:100%;">
                <?php echo get_the_post_thumbnail(); ?>
          </div>
        </div>

        <div class="col-md-9">
                    <header class="entry-header article">
                        <?php
                        if ( is_singular() ) :
                            the_title( \'<h1 class="entry-title">\', \'</h1>\' );
                        else :
                            the_title( \'<h2 class="entry-title"><a href="\' . esc_url( get_permalink() ) . \'" rel="bookmark">\', \'</a></h2>\' );
                        endif;

                        if ( \'post\' === get_post_type() ) : ?>
                        <div class="entry-meta">
                            <?php arcvertex_posted_on(); ?>
                        </div><!-- .entry-meta -->
                        <?php
                        endif; ?>
                    </header><!-- .entry-header -->

                    <div class="row">
                        <div class="col-md-12">

                            <div class="entry-content-article">
                            <?php echo get_the_excerpt(); ?>
                            </div><!-- .entry-content -->

                            <button type="button" class="btn btn-readmore">Read More...</button>

                        </div>
                    </div><!-- .Row -->
        </div>
</div><!-- .Row -->

<hr class="half-rule-breadcrumb" style="margin-top:10px;" />

<footer class="entry-footer">
<?php arcvertex_entry_footer(); ?>
</footer><!-- .entry-footer -->
</article><!-- #post-<?php the_ID(); ?> -->

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

WordPress的核心内置了一个助手功能,wp_trim_words(), 这是在v3中添加的。3.0。

在您的情况下,只需更换the_excerpt() 具有echo wp_trim_words( get_the_content(), 80 ); 其中80是您想要的字数。

SO网友:Shital Marakana

为函数中的字符和字数添加以下函数。php

function wordlimit($string, $limit) 
{
    $overflow = true;
    $array = explode(" ", $string);
    $output = \'\';
    for ($i = 0; $i < $limit; $i++) 
    {
        if (isset($array[$i])) 
        {
            $output .= $array[$i] . " ";
        }
        else 
        {
            $overflow = false;
        }
    }

    return trim($output) . ($overflow === true ? "..." : \'\');
}
function charlimit($string,$limit){
    $string = preg_replace(" (\\[.*?\\])",\'\',$string);
    $string = strip_tags($string);
    $string = trim(preg_replace( \'/\\s+/\', \' \', $string));
    return strlen($string)<=$limit?$string:substr($string,0,$limit).\'...\';
}
然后在文件中使用wordlimit(get_the_content( $post->ID ),160); 而不是get_the_excerpt()

<?php
 /**
 * Template part for displaying posts
 *
 * @link https://codex.wordpress.org/Template_Hierarchy
 *
 * @package arcvertex
 */

 ?>

<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>

<div class="row">

        <div class="col-md-3">
            <div class="thumbnail alignleft" style="width:100%;">
                <?php echo get_the_post_thumbnail(); ?>
          </div>
        </div>

        <div class="col-md-9">
                    <header class="entry-header article">
                        <?php
                        if ( is_singular() ) :
                            the_title( \'<h1 class="entry-title">\', \'</h1>\' );
                        else :
                            the_title( \'<h2 class="entry-title"><a href="\' . esc_url( get_permalink() ) . \'" rel="bookmark">\', \'</a></h2>\' );
                        endif;

                        if ( \'post\' === get_post_type() ) : ?>
                        <div class="entry-meta">
                            <?php arcvertex_posted_on(); ?>
                        </div><!-- .entry-meta -->
                        <?php
                        endif; ?>
                    </header><!-- .entry-header -->

                    <div class="row">
                        <div class="col-md-12">

                            <div class="entry-content-article">
                            <?php echo wordlimit(get_the_content( $post->ID ),160);?>
                            </div><!-- .entry-content -->

                            <button type="button" class="btn btn-readmore">Read More...</button>

                        </div>
                    </div><!-- .Row -->
        </div>
</div><!-- .Row -->

<hr class="half-rule-breadcrumb" style="margin-top:10px;" />

<footer class="entry-footer">
<?php arcvertex_entry_footer(); ?>
</footer><!-- .entry-footer -->
</article><!-- #post-<?php the_ID(); ?> -->

结束

相关推荐

从归档页面中的自定义帖子中获取第一个限制词 - 小码农CODE - 行之有效找到问题解决它

从归档页面中的自定义帖子中获取第一个限制词

时间:2017-10-14 作者:Harshad Gole

我已经创建了custom Post type. 现在我正在使用excerpt 在存档页中显示一些有限的单词。但我在主页上以content slider (Owl Carousel) 这给我带来了问题,因为excerpt size.

所以,我决定first 160 words of the post 在上显示archive page. 而不是摘录

还有,我已经Read more 巴顿,我想知道如何把链接

 <?php
 /**
 * Template part for displaying posts
 *
 * @link https://codex.wordpress.org/Template_Hierarchy
 *
 * @package
 */

 ?>

<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>

<div class="row">

        <div class="col-md-3">
            <div class="thumbnail alignleft" style="width:100%;">
                <?php echo get_the_post_thumbnail(); ?>
          </div>
        </div>

        <div class="col-md-9">
                    <header class="entry-header article">
                        <?php
                        if ( is_singular() ) :
                            the_title( \'<h1 class="entry-title">\', \'</h1>\' );
                        else :
                            the_title( \'<h2 class="entry-title"><a href="\' . esc_url( get_permalink() ) . \'" rel="bookmark">\', \'</a></h2>\' );
                        endif;

                        if ( \'post\' === get_post_type() ) : ?>
                        <div class="entry-meta">
                            <?php arcvertex_posted_on(); ?>
                        </div><!-- .entry-meta -->
                        <?php
                        endif; ?>
                    </header><!-- .entry-header -->

                    <div class="row">
                        <div class="col-md-12">

                            <div class="entry-content-article">
                            <?php echo get_the_excerpt(); ?>
                            </div><!-- .entry-content -->

                            <button type="button" class="btn btn-readmore">Read More...</button>

                        </div>
                    </div><!-- .Row -->
        </div>
</div><!-- .Row -->

<hr class="half-rule-breadcrumb" style="margin-top:10px;" />

<footer class="entry-footer">
<?php arcvertex_entry_footer(); ?>
</footer><!-- .entry-footer -->
</article><!-- #post-<?php the_ID(); ?> -->

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

WordPress的核心内置了一个助手功能,wp_trim_words(), 这是在v3中添加的。3.0。

在您的情况下,只需更换the_excerpt() 具有echo wp_trim_words( get_the_content(), 80 ); 其中80是您想要的字数。

SO网友:Shital Marakana

为函数中的字符和字数添加以下函数。php

function wordlimit($string, $limit) 
{
    $overflow = true;
    $array = explode(" ", $string);
    $output = \'\';
    for ($i = 0; $i < $limit; $i++) 
    {
        if (isset($array[$i])) 
        {
            $output .= $array[$i] . " ";
        }
        else 
        {
            $overflow = false;
        }
    }

    return trim($output) . ($overflow === true ? "..." : \'\');
}
function charlimit($string,$limit){
    $string = preg_replace(" (\\[.*?\\])",\'\',$string);
    $string = strip_tags($string);
    $string = trim(preg_replace( \'/\\s+/\', \' \', $string));
    return strlen($string)<=$limit?$string:substr($string,0,$limit).\'...\';
}
然后在文件中使用wordlimit(get_the_content( $post->ID ),160); 而不是get_the_excerpt()

<?php
 /**
 * Template part for displaying posts
 *
 * @link https://codex.wordpress.org/Template_Hierarchy
 *
 * @package arcvertex
 */

 ?>

<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>

<div class="row">

        <div class="col-md-3">
            <div class="thumbnail alignleft" style="width:100%;">
                <?php echo get_the_post_thumbnail(); ?>
          </div>
        </div>

        <div class="col-md-9">
                    <header class="entry-header article">
                        <?php
                        if ( is_singular() ) :
                            the_title( \'<h1 class="entry-title">\', \'</h1>\' );
                        else :
                            the_title( \'<h2 class="entry-title"><a href="\' . esc_url( get_permalink() ) . \'" rel="bookmark">\', \'</a></h2>\' );
                        endif;

                        if ( \'post\' === get_post_type() ) : ?>
                        <div class="entry-meta">
                            <?php arcvertex_posted_on(); ?>
                        </div><!-- .entry-meta -->
                        <?php
                        endif; ?>
                    </header><!-- .entry-header -->

                    <div class="row">
                        <div class="col-md-12">

                            <div class="entry-content-article">
                            <?php echo wordlimit(get_the_content( $post->ID ),160);?>
                            </div><!-- .entry-content -->

                            <button type="button" class="btn btn-readmore">Read More...</button>

                        </div>
                    </div><!-- .Row -->
        </div>
</div><!-- .Row -->

<hr class="half-rule-breadcrumb" style="margin-top:10px;" />

<footer class="entry-footer">
<?php arcvertex_entry_footer(); ?>
</footer><!-- .entry-footer -->
</article><!-- #post-<?php the_ID(); ?> -->

相关推荐