在滑块中显示wordpress特色图像

时间:2015-08-08 07:39:49

标签: wordpress

我希望在我的滑块中显示精选图片。所以我在我的function.php中所做的就像下面这样:

   <?php

   function revconcept_get_images($post_id) {
   global $post;

   $thumbnail_ID = get_post_thumbnail_id();

   $images = get_children( array('post_parent' => $post_id, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => 'ASC', 'orderby' => 'menu_order ID') );

    if ($images) :

      foreach ($images as $attachment_id => $image) :

          $img_alt = get_post_meta($attachment_id, '_wp_attachment_image_alt', true); //alt
          if ($img_alt == '') : $img_alt = $image->post_title; endif;

          $big_array = image_downsize( $image->ID, 'large' );
          $img_url = $big_array[0];

          echo '<li>';
          echo '<img src="';
          echo $img_url;
          echo '" alt="';
          echo $img_alt;
          echo '" />';
          echo '</li><!--end slide-->';

    endforeach; endif; }
   ?>
            <div class="flexslider"> <!-- function called in index.php -->
                    <ul class="slides">
                   <?php revconcept_get_images("$post->ID"); ?>
                </ul>
            </div><!--end flexslider-->

现在我有两个问题。 no.1我的特色图片未显示在滑块中。它显示链接断开。但它可以回应post_id。 no.2我想只显示cat = 5的最新帖子中的3/4图像。任何人都可以帮我这样做吗?请注意我正在为我的滑块使用flexslider。

1 个答案:

答案 0 :(得分:0)

好的,这是我测试过的,你可能想稍微改进一下查询,但对我来说它有用。在functions.php put

function revconcept_get_images($post_id) {

    $images = get_posts( array(
                'post_type' => 'attachment',
                'hide_empty' => true,
                'order' => 'ASC',
                'orderby' => 'menu_order ID'
            ));

    foreach ($images as $image) {
        $image_url = $image->guid;
        $img_alt = get_post_meta($image->ID, '_wp_attachment_image_alt', true); //alt

        echo '<li><img src="'.$image_url.'" alt="'.$img_alt.'" /></li>';

    }

}

在index.php中(你想要的地方)

<div class="flexslider"> <!-- function called in index.php -->
    <ul class="slides">
       <?php revconcept_get_images($post->ID); ?>
    </ul>
</div><!--end flexslider-->

如果您想要显示帖子中的所有精选图片,您只需将'posts_per_page' => -1,放入get_posts()数组中。