如何从wordpress中的特定页面ID获取所有图像

时间:2014-04-11 05:14:02

标签: wordpress

我创建了一个名为" Gallery"并使用10张图片创建new gallery。我的网页ID为129.我在page id(129)中有10张图片。 现在我的问题是,我需要一个代码来获取wordpress中的那10个图像。请任何人帮我一个代码。提前谢谢。

2 个答案:

答案 0 :(得分:1)

从帖子中获取所有图片。


function get_all_images() {
  global $post, $posts;
  $first_img = '';
  ob_start();
  ob_end_clean();
  $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
  $first_img = $matches [1] [0];
  return $first_img;
}

在这里你得到第一张图片,就像你得到所有其他图像一样

答案 1 :(得分:1)

使用 get_children

我使用此代码以所选顺序从页面库中提取所有图像。您可以在循环中包含此代码或单独使用它。只需选择合适的post_parent代码(参见下面的代码示例)。

此示例显示与页面ID 129关联的所有图像,请查看:

    $images = get_children( array( 'post_parent' => 129, 'post_type' => 'attachment', 'post_mime_type' => 'image', 'orderby' => 'menu_order', 'order' => 'ASC', 'numberposts' => 999 ) ); 

$ images现在是一个对象,其中包含所有图像(与帖子ID 1相关)以及像图库界面一样排序的信息。

    if ( $images ) { 

            //looping through the images
            foreach ( $images as $attachment_id => $attachment ) {
            ?>

                        <?php /* Outputs the image like this: <img src="" alt="" title="" width="" height="" /> */  ?> 
                        <?php echo wp_get_attachment_image( $attachment_id, 'full' ); ?>

                        This is the Caption:<br/>
                        <?php echo $attachment->post_excerpt; ?>

                        This is the Description:<br/>
                        <?php echo $attachment->post_content; ?>

            <?php
            }
    }

找到你要从中提取图像的帖子ID并将其插入到这个参数中:'post_parent'=&gt; 129

你也可以使用:

'post_parent'=&gt; $后&GT; ID 如果你想在循环中使用get_children,并从返回的帖子id中获取post id。

如果你想要排除选择作为特色图像的图像,我将使用if语句检查图像URL是否等于特色图像URL。