1

我有这个自定义帖子类型画廊。我想从帖子中调用第一张图片。

<?php 
$item_count = 1;
$args = array( 'post_type' => 'gallery', 'posts_per_page' => 10 );  
$loop = new WP_Query( $args ); 
$item_count = 1;
while ( $loop->have_posts() ) : $loop->the_post();  ?>
    <?php the_title();  ?>
    <div class="count"><?php echo $item_count; ?></div>
    <div class="thumbnail">
    // THE FIRST GALLERY ATTACHMENT IMAGE
    </div> 

<?php $item_count++; ?>
<?php endwhile; ?>

有任何想法吗?

注意:我在帖子上添加了画廊没有简单的图像!

4

1 回答 1

1

检查这个WordPress Codex 示例。

该代码将显示与帖子关联的第一张图片。

或者查看这个也处理这个问题的 WordPress 论坛讨论。

更新:

转到外观 > 编辑器并选择主题函数 (functions.php)。在文件末尾添加:

// Get URL of first image in a post
function catch_that_image($my_postid) {
global $post;


$first_img = '';
  ob_start();
  ob_end_clean();
            $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i',  get_post_field('post_content', $my_postid), $matches);

$first_img = $matches [1] [0];

// no image found display default image instead
if(empty($first_img)){

$first_img = "/images/default.jpg";
}
return $first_img;
} ?>

现在在您的代码中修改这部分代码:

<div class="thumbnail">
   <?php echo catch_that_image($loop->ID) ?>
</div> 

更新 V2

我修改了代码以适合您的代码。

更新 V3

我在我的开发站点上尝试了代码,并进一步修改了它,直到代码正常工作。你现在应该没有任何问题。

于 2013-04-12T19:20:25.557 回答