Как получить первые и последние постданные из пользовательского типа поста в wordpress?

В теме WordPress я создал пользовательский тип сообщения. В этом пользовательском типе сообщения изображения прикрепляются с помощью поля метабокса загрузки изображения. Для этого я могу создать любое количество сообщений (изображений).

На переднем конце внутри моего основного шаблона я зациклил эти изображения, используя следующую функцию wordpress:

    <?php

    global $post;
    $args = array(
    'post_type' =>'Imagespost',
    'numberposts' => -1,
    'order' => 'ASC' );

    $image_posts = get_posts($args); ?>

    <?php
        if($image_posts) { ?>

      <div id="bigImages">
      <ul class ="image-list">

           <?php

            foreach($image_posts as $post) : setup_postdata($post);

             // get attached image URL from image upload metabox field.
             $full_image = get_post_meta($post->ID, 'my_image', true);

           echo  '<a href=" ' . $full_image . '" class="playlist-btn">';
          ?>
              <?php endforeach;?>

            </ul>
       </div>

 <?php wp_reset_postdata(); ?>
 <?php } ?>

Таким образом, я сохраняю каждое прикрепленное изображение как $full_image внутри цикла и использую его как атрибут href для дальнейшего отображения. таким же образом я хочу сохранить только первое изображение или последнее изображение в качестве переменной, если ORDER: as ascending (ASC) or descending (DESC). Как я могу получить только данные из первого или последнего сообщения из пользовательского типа сообщения?


person galexy    schedule 25.05.2013    source источник


Ответы (1)


$args = array(
    'post_type' =>'Imagespost',
    'numberposts' => -1,
    'posts_per_page' => 1,
    'order' => 'ASC' );

$image_posts = get_posts($args);

Добавьте posts_per_page = 1. Это возвращает только один пост.

Используйте этот запрос дважды, один раз с заказом ASC и один раз с заказом DESC. И он возвращает только один пост.

Или второе решение:

Подсчитайте количество возвращенных сообщений. то есть

$count = count($image_posts);
$image_posts[0] // return first ImagePost
$image_posts[$count-1] // returns last ImagePost.
person Pranita    schedule 03.12.2013