2013-08-24 63 views
1

我列出城市和順序按字母順序,我想出了這個代碼WP獲得第一和最後一個文章標題

<?php 
$args = array(
    'post_type'  => 'cities', 
    'orderby'   => 'title', 
    'order'   => 'ASC', 
    'posts_per_page' => -1, 
    'caller_get_posts' => 1 
); 
$my_query = new WP_Query($args); 

if ($my_query->have_posts()) { 
    while ($my_query->have_posts()) : $my_query->the_post();?> 
     <?php 
     $this_char = strtoupper(substr($post->post_title, 0, 1)); 
     if ($this_char != $last_char) { 
      $last_char = $this_char; 
      if (isset($flag)) 
       echo '</div>'; 
      echo '<div data-role="collapsible" class="excerpts">'; 
      echo '<h3 class="alphabet">' . '<div>' . $last_char . '</div>' . '</h3>'; 
      $flag = true; 
     } ?> 

     <p class="inner"><a data-transition="slide" 
          href="<?php the_permalink() ?>" rel="bookmark" 
          title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a> 
     </p> 
    <?php endwhile; 
} 
if (isset($flag)) 
    echo '</div>'; 

wp_reset_query();?> 

此代碼生成以下HTML

<div class="collapsible"> 
    <h3><div>A</div></h3> 
    <p>Atlanta</p> 
    <p>Alabama</p> 
    <p>Arizona</p> 
</div> 

,但我試圖要實現的是在信件旁邊的第一個和最後一個職位標題,像這樣的

<div class="collapsible"> 
    <h3><div>A</div> Atlanta - Arizona</h3> 
    <p>Atlanta</p> 
    <p>Alabama</p> 
    <p>Arizona</p> 
</div> 

我怎樣才能在WordPress的最後的職位標題?有任何想法嗎?謝謝。

我想這第一個,但我不知道最後

echo '<h3 class="alphabet">'. '<div>'.$last_char. '</div>' . get_the_title() .' - get_the_last_title' .'</h3>'; 

回答

0

使用get_posts這將讓你的帖子的數組,你可以在任何數組訪問數據。

<?php 
$posts_array = get_posts($args); 
echo $posts_array[0] // First posts; 
echo $posts_array[count($posts_array) -1 ] //Last Posts 
?> 

或者與WP_query:

$firstPost = $my_query -> $posts[0] // first post 
$lastPost $my_query -> $posts[$my_query->$found_posts] // Last post 
相關問題