Wordpress:获取附件,但不是后拇指

时间:2010-07-14 11:38:59

标签: wordpress wordpress-theming

我的 functions.php

中包含以下代码
function get_images($size = 'thumbnail') {

global $post;
return get_children( array('post_parent' => get_the_ID(), 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => 'ASC', 'orderby' => 'menu_order ID') );

}

在我的 single.php

<?php $photos = get_images('full'); ?>

            <?php $x = 0; ?>
            <?php foreach($photos as $photo): ?>
                <?php if($x < 1): ?>
                    <img src="<?=wp_get_attachment_url($photo->ID)?>" alt="fullImg" /> 
                <?php endif; ?>
                <?php $x++;
                 ?>
            <?php endforeach; ?>

我想在那里只展示一张图片,但它也显示了后拇指图片,我不想要,是否可以选择排除?

1 个答案:

答案 0 :(得分:7)

那里有一些疯狂的编码!在函数中接受一个大小是没有意义的,因为它只返回一个post对象数组。

收到你的帖子后,然后使用相应的附件功能来获取你所追求的附件大小的信息。

我会建议使用这样的函数;

function get_images($overrides = '', $exclude_thumbnail = false)
{
    return get_posts(wp_parse_args($overrides, array(
        'numberposts' => -1,
        'post_parent' => get_the_ID(),
        'post_type' => 'attachment',
        'post_mime_type' => 'image',
        'order' => 'ASC',
        'exclude' => $exclude_thumbnail ? array(get_post_thumbnail_id()) : array(),
        'orderby' => 'menu_order ID'
    )));
}

并将其付诸实践;

<?php if ($photo = get_images('numberposts=1', true)): ?>

    <img src="<?php echo wp_get_attachment_url($photo[0]->ID); ?>" alt="fullimg" />

<?php endif; ?>

更新:功能错字 - 修复。