0

我创建了一些自定义帖子类型,我现在打算在帖子中插入一个图像并在服务器上获取它的 url,以便我可以将它用作某些 div 的背景。现在我看到了函数 get_attachment_uri($id); 但我不明白如何在循环中获取该附件的 ID?

现在我正在做的是手动上传图像文件夹中的图像,然后使用自定义字段来存储它的名称,这样我就可以像这样使用它 -

<div class="ch-info-front" style="background-image: url(<?php  bloginfo('template_url'); ?>/images/<?php get_post_meta($post->ID, 'image_no', true); ?>.png);"></div>

现在必须有一些其他更好的方法来做到这一点,但我不太清楚,有人可以帮忙吗?

4

1 回答 1

0

您可以调用附加到帖子的第一张图片get_children,然后获取它的 URL 并将其输出到您的代码中。我写得很快,它没有经过测试,但我相当有信心它会起作用。

<?php
$args = array(
    'post_parent' => get_the_ID(),
    'post_type' => 'attachment',
    'post_mime_type' => 'image',
    'post_status' => null,
    'numberposts' => 1,
    'order' => 'ASC'
);
$attachments = get_children( $args )
foreach ( $attachments as $attachment_id => $attachment ) {
    $image = wp_get_attachment_link($attachment_id);
    break;
}
echo $image; // this is the image URL
?>

这将自动获取第一张图片并为​​您提供主题的 URL。如果没有图像,您可能还需要添加 if 语句。

于 2013-10-26T04:34:53.610 回答