如何在WordPress中显示get_children数组中的特定图像

时间:2014-10-24 19:32:41

标签: php css wordpress image

如果在网站的某个地方得到解答我会道歉,但我从昨天开始一直在搜索,但似乎无法找到答案。

我正在尝试在自定义帖子类型中创建不同大小的图片网格。我需要在编辑器中添加图像而不是其他任何地方。自定义帖子类型在我使用the_post_thumbnail()创建的顶部有一个特色图像; 下面是一些文字,下面我添加了一些图片。 文本和图像已通过管理面板中的编辑器添加。

我不确定这是否是正确的方法,但我一直在使用get_children()函数来抓取我上传到帖子的所有图片。 这是该部分的代码:

<?php
$featuredImage = get_post_thumbnail_id( $post->ID );
$attachments = get_children( array( 'post_parent'=>$post->ID, 'post_type'=> 'attachment', 'exclude'=>$featuredImage ) );

    if ( $attachments ) {
    foreach ( $attachments as $attachment ) {
        $image_attributes = wp_get_attachment_image_src( $attachment->ID, 'thumbnail' )  ? wp_get_attachment_image_src( $attachment->ID, 'thumbnail' ) : wp_get_attachment_image_src( $attachment->ID, 'full' );

        echo '<img src="' . wp_get_attachment_thumb_url( $attachment->ID ) . '" class="project-image w3">';
    }
}
?>

显示除特色图像以外的所有图像。 我怎样才能只显示第二张图像?例如?

最后我想这样做,以便我有一个if语句来检查添加的图像数量,并根据帖子中的图像数量,将不同的css类应用于get_children数组中的不同图像,显示它们,替换我通过编辑器添加的相同图像。

我真的很感激帮助。如果我还不够清楚,或者我是以错误的方式解决这个问题,请告诉我。

谢谢!

更新

我正在尝试将我通过wordpress编辑器添加的图像替换为我使用get_children()函数创建的所需div中的新图像。 preg_replace()是要走的路吗?

1 个答案:

答案 0 :(得分:0)

您正在寻找的代码段位于手册页:

http://codex.wordpress.org/Function_Reference/get_children#Show_the_first_image_associated_with_the_post_and_re-key_the_array

这样做会将所有帖子ID放入名为rekeyed_array

的数组中

然后,您可以通过将索引(0)更改为您要查找的内容来引用数组来访问第一个,第二个等。

$child_image = $rekeyed_array[0];  

一旦掌握了这种控制级别,那么根据附件数量添加css类应该相当简单。如果您想了解更多详细信息,请询问。