我在常规的stackexchange网站上发布了这篇文章,但后来发现有一个特定于wordpress的网站,所以我将其重新发布在这里。
我正在尝试在我创建的自定义帖子类型中创建一个库。我希望能够通过wordpress管理编辑器将图像/图库添加到帖子中,但之后会有一个功能,即拉取图像,将其包装在div中,并用新图像替换现有图库。
我想这样做,因为我希望图像能够适合不同大小图像的网格。例如,图像1是全宽,图像2是半宽,图像3是四分之一,依此类推。
我试过两种方法,一种是get_children()
$featuredImage = get_post_thumbnail_id( $post->ID );
$imageArgs = array(
\'numberposts\' => 5,
\'order\' => \'DESC\',
\'post_mime_type\' => \'image\',
\'post_parent\' => $post->ID,
\'post_type\' => \'attachment\',
\'exclude\' => $featuredImage
);
$attachments = get_children($imageArgs, ARRAY_A);
$rekeyed_array = array_values($attachments);
$child_image = $rekeyed_array[0];
echo \'<div class="image-large"><img src="\' . $child_image[\'guid\'] . \'" class="project-image"></div>\';
$child_image = $rekeyed_array[1];
echo \'<div class="image-medium"><img src="\' . $child_image[\'guid\'] . \'"></div>\';
$child_image = $rekeyed_array[2];
echo \'<div class="image-small"><img src="\' . $child_image[\'guid\'] . \'"></div>\';
另一个是
get_post_gallery()
$gallery = get_post_gallery( get_the_ID(), false );
foreach( $gallery[\'src\'] AS $src )
{
?>
<div class="image-large">
<img src="<?php echo $src; ?>" alt="Gallery image" />
</div>
<?php
}
我在
get_post_gallery()
, 但我知道我必须使用
wp_get_attachment_url()
获取全尺寸图像,而不是缩略图。
现在,有两个问题:
我对数组有点困惑,那么我该如何选择数组中的第一个图像并使用“image large”类将其包装在div中,然后使用“image medium”类将第二个图像包装在adiv中呢如何用新的库/图像替换通过编辑器添加的库/图像?现在,我得到了两个图像实例,一个是通过编辑器添加的原始图像,另一个是通过函数获得的图像
EDIT
我想我解决了问题1。阅读关联数组并意识到您可以执行以下操作
echo $gallery[\'src\'][0];
获取每个图像的源url。但仍然对问题2感到困惑。