2016-10-17 2 views
0

Я уже проверил это сообщение (Multiple excerpt lengths in wordpress), но это, очевидно, для версий WordPress, много раз удаленных от того, где мы сейчас находимся. Мне нужны несколько длин для разных областей, но с тегами, которые были удалены. Я не использую поле «выдержки» в сообщении, поэтому ему необходимо связать содержимое. Мне очень понравился предложенный ответ на этой странице, который включал «короткий», «обычный» и «длинный», но я не могу заставить его работать.Несколько отрывков/содержание в WordPress

Я использую это в коротком замыкании на моей домашней странице, которая отображает первое сообщение в группе другим способом, чем остальные 4 сообщения. Я только включаю код до конца первого сообщения, так как другие не включают выдержку.

Это то, что у меня есть. Может быть, кто-то может увидеть, где я Мессинг вещи:

functions.php класс Отрывок {

// Default length (by WordPress) 
public static $length = 55; 

// So you can call: my_excerpt('short'); 
public static $types = array(
    'short' => 25, 
    'regular' => 55, 
    'long' => 100 
); 

/** 
* Sets the length for the excerpt, 
* then it adds the WP filter 
* And automatically calls the_excerpt(); 
* 
* @param string $new_length 
* @return void 
* @author Baylor Rae' 
*/ 
public static function length($new_length = 55) { 
Excerpt::$length = $new_length; 

add_filter('excerpt_length', 'Excerpt::new_length', 999); 

Excerpt::output(); 
} 

// Tells WP the new length 
public static function new_length() { 
    if(isset(Excerpt::$types[Excerpt::$length])) 
    return Excerpt::$types[Excerpt::$length]; 
    else 
    return Excerpt::$length; 
} 

// Echoes out the excerpt 
public static function output() { 
    the_excerpt(); 
} 

} 

// An alias to the class 
function my_excerpt($length = 55) { 
    Excerpt::length($length); 
} 

Последние сообщения

   <?php $args2 = array(
        'post_type' => 'post', 
        'posts_per_page' => 5, 
        'orderby' => 'date', 
        'order' => 'DESC', 
        'post_status' => 'publish', 
       ); 
       $recent_posts = wp_get_recent_posts($args2); 
       $count2 = 0; 

       foreach($recent_posts as $recent){ 
        $count2++; 
        if ($count2 == 1) { ?> 

       <div class="col-xs-12 col-sm-6 col-md-6"> 
        <div class="first-news clearfix"> 
         <a href="<?php echo get_permalink($recent["ID"]); ?>" title="<?php echo $recent["post_title"]; ?>"> 
          <?php $feat_image3 = wp_get_attachment_url(get_post_thumbnail_id($recent["ID"])); ?> 
          <div class="post-thumbnail" style="background-image: url(<?php echo $feat_image3; ?>); height: 200px;"> 

           <?php $format = get_post_format($recent["ID"]); 
            if (false === $format) { ?> 
             <span class="standard overlay-icon"><i class="fa fa-search fa-2x"></i></span>             
            <?php } 

            if ('aside' === $format) { ?> 
             <span class="aside overlay-icon"></span> 
            <?php } 

            if ('image' === $format) { ?> 
             <span class="image overlay-icon"><i class="fa fa-photo fa-2x"></i></span> 
            <?php } 

            if ('video' === $format) { ?> 
             <span class="video overlay-icon"><i class="fa fa-video-camera fa-2x"></i></span> 
            <?php } 

            if ('quote' === $format) { ?> 
             <span class="quote overlay-icon"><i class="fa fa-quote-left fa-2x"></i></span> 
            <?php } 

            if ('link' === $format) { ?> 
             <span class="link overlay-icon"><i class="fa fa-link fa-2x"></i></span> 
            <?php } 

            if ('gallery' === $format) { ?> 
             <span class="gallery overlay-icon fa-stack"> 
              <i class="fa fa-image fa-stack-1x fa-nudge-right fa-nudge-down fa-outline-inverse" style="font-size:1.5em" ></i> 
              <i class="fa fa-image fa-stack-1x fa-outline-inverse" style="font-size:1.5em" ></i> 
              <div style="background-color:#FFF;width:70%;height:55%;left:4%;top:10%;position:absolute"></div> 
              <i class="fa fa-image fa-stack-1x fa-nudge-left fa-nudge-up fa-outline-inverse" style="font-size: 1.5em"></i> 
             </span> 
            <?php } 

            if ('status' === $format) { ?> 
             <span class="status overlay-icon"><i class="fa fa-sticky-note fa-2x"></i></span> 
            <?php } 

            if ('audio' === $format) { ?> 
             <span class="audio overlay-icon"><i class="fa fa-volume-up fa-2x"></i></span> 
            <?php } 

            if ('chat' === $format) { ?> 
             <span class="chat overlay-icon"><i class="fa fa-commenting fa-2x"></i></span> 
            <?php } 

            if ('code' === $format) { ?> 
             <span class="code overlay-icon"><i class="fa fa-code fa-2x"></i></span> 
            <?php } 
           ?> 
          </div> 
         </a> 

         <a title="<?php the_title($recent["ID"]) ?>" href="<?php echo get_permalink($recent["ID"]); ?>" rel="bookmark"> 
          <h3 class="post-box-title"><?php echo get_the_title($recent["ID"]); ?></h3> 
         </a> 

         <p class="post-meta"> 
          <span class="darwin-date"> 
           <i class="fa fa-clock-o"></i> 
           <?php echo get_the_time('M d, Y', $recent["ID"]); ?> 
          </span> 
         </p> 

         <div class="entry"> 
          <p> 
           <?php echo my_excerpt('short', $recent['ID']); ?> 
          </p> 

          <div class="more-posts"> 
           <a class="more-link" title="<?php echo get_the_title($recent["ID"]); ?>" href="<?php the_permalink($recent["ID"]); ?>">Read More &raquo;</a> 
          </div> 

ответ

0

Вы можете обрезать фрагмент с родными Функция Wordpress wp_trim_words.

Подробнее здесь wp_trim_words

+0

Я пробовал это. Он не работает с моей $ недавней ['ID'] частью, которая должна быть там, поскольку она находится вне цикла, из того, что я могу сказать. Другими словами, это часть короткого кода, а не на странице блога (я, вероятно, не объясняю себя здесь. Крайне усталость на данный момент). –

+0

с 'wp_trim_words' вы можете использовать любой текст, который хочет U. Например, 'wp_trim_words ($ recent ['post_content'], 20, '...')' –

+0

Я пробовал это раньше. Однако он не работал с $ недавним ["ID"] компонентом цикла. По крайней мере, я не мог этого добиться. –

Смежные вопросы