WordPress:获取附件,但不获取拇指后的附件

发布于 2024-09-09 09:34:40 字数 907 浏览 2 评论 0原文

我的 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; ?>

我只想在那里显示一张图像,但它也向我显示 post -拇指图像,我不想要,是否有选项可以排除它?

I have the following code in my 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') );

}

And in my 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; ?>

I want to show just ONE image there, but it shows me also the post-thumb image, which I don't want, is there an option to exclude that?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

Spring初心 2024-09-16 09:34:40

那是一些疯狂的编码!在函数中接受大小是没有意义的,因为它只是返回一个 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; ?>

更新:函数中的拼写错误 - 已修复。

That's some crazy coding there! It's pointless accepting a size in your function, because it merely returns an array of post objects.

Once you've got your posts, then use the appropriate attachment function(s) to get the information on the attachment size you're after.

I would propose a function like this instead;

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'
    )));
}

And putting it in practice;

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

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

<?php endif; ?>

UPDATE: Typo in function - fixed.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文