Сделать Первое сообщение отличающимся от отдыха?

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

<?php
$queryObject = new  Wp_Query( array(
        'showposts' => 4,
        'post_type' => array('pretty-little-liars', 'revenge', 'once-upon-a-time'),
        'category_name' => celebrity,
            'orderby' => 1,
        ));
// The Loop!
if ($queryObject->have_posts()) {
?>

<?php
while ($queryObject->have_posts()){
    $queryObject->the_post();
    ?>

<a href="<?php the_permalink(); ?>" title="<?php printf(__( 'Read %s', 'wpbx' ), wp_specialchars(get_the_title(), 1)) ?>">
                    <?php the_post_thumbnail('video-post'); ?>
                    </a>

<?php echo human_time_diff( get_the_time('U'), current_time('timestamp') ) . ' ago'; ?>

               <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>


<?php
}
?>
<?php wp_reset_postdata();
}
?>
3
16.01.2013, 07:37
3 ответа

Вы могли проверить current_post в цикле:

if($queryObject->have_posts()) {
    while($queryObject->have_posts()) {
        $queryObject->the_post();
        if( 0 == $queryObject->current_post ) {
            // this is the first post
        } else {
            // not the first post
        }
    }
}
7
19.02.2020, 22:14
  • 1
    не работал..., он заставил целую боковую панель исчезнуть –  Mihad Aiko 16.01.2013, 08:38
  • 2
    , которым мы были через это, прежде чем - позволят отладить и проверят на php ошибки, отредактируют Ваш вопрос показать то, что Вы попробовали. –  Milo 16.01.2013, 08:40

Если Вы не возражаете против небольшой дополнительной разметки, Вы могли бы перенестись, первое сообщение в отделении + используют его класс для моделирования этого сообщения по-другому.

<?php
   $queryObject = new  Wp_Query( array(
        'showposts' => 4,
        'post_type' => array('pretty-little-liars', 'revenge', 'once-upon-a-time'),
        'category_name' => celebrity,
            'orderby' => 1,
        ));

  // The Loop
  if ( $queryObject->have_posts() ) :
      $i = 0;
      while ( $queryObject->have_posts() ) :
          $queryObject->the_post();
          ?>
          <?php if ( $i == 0 ) : ?>
              <div class="first-post">
          <?php endif; ?>
          <a href="<?php the_permalink(); ?>" title="<?php printf(__( 'Read %s', 'wpbx' ), wp_specialchars(get_the_title(), 1)) ?>">
              <?php the_post_thumbnail('video-post'); ?>
          </a>

          <?php echo human_time_diff( get_the_time('U'), current_time('timestamp') ) . ' ago'; ?>

          <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
          <?php if ( $i == 0 ) : ?>
              </div>
          <?php endif; ?>    
          <?php $i++; ?>
      <?php endwhile; ?>
  <?php endif; ?>
2
19.02.2020, 22:14

Можно сделать что-то вроде этого:

        <?php
            $queryObject = new  Wp_Query( array(
                    'showposts' => 4,
                    'post_type' => array('pretty-little-liars', 'revenge', 'once-upon-a-time'),
                    'category_name' => celebrity,
                        'orderby' => 1,
                    ));

        // Initiate some counter to point the first post

        $post_counter = 0;

            // The Loop!
            if ($queryObject->have_posts()) {

            while ($queryObject->have_posts()){
                $queryObject->the_post();

        if(!$post_counter)
        {
                ?>

    /* Custom styling for the first post */       

            <?php
        }
    else
    {    
         /* common styling for the rest of the posts */    
    }

$post_counter+=1;

            }

         wp_reset_postdata();

            }

        ?>
0
19.02.2020, 22:14

Теги

Похожие вопросы