从页面ID获取图库图像

时间:2015-10-03 作者:David Alsbright

我在WordPress中有一个名为“Gallery”的页面,页面ID为128,我只需要在另一个具有不同ID的页面上显示该页面中的Gallery图像。这些图像是使用标准WordPress Gallery功能上载的。

我一直想用get_children 和aforeach 循环来实现它,但我似乎无法从我需要的页面(ID 128)中仅获取图库图像。

以下是我目前掌握的情况:

$images = get_children( array( 
    \'post_parent\'    => 128, 
    \'post_type\'      => \'attachment\', 
    \'post_mime_type\' => \'image\', 
    \'orderby\'        => \'menu_order\', 
    \'order\'          => \'ASC\', 
    \'numberposts\'    => 999 
) ); 
if ( $images ) { 
    // looping through the images
    foreach ( $images as $attachment_id => $attachment ) {
        echo wp_get_attachment_image( $attachment_id, \'full\' );
    }
}
如何在其他页面上显示WordPress页面中的库图像?

1 个回复
最合适的回答,由SO网友:Nate Allen 整理而成

您可以使用get_post_galleries_images 函数,该函数从指定的帖子ID返回所有库的数组。以下是显示所有图像的快速功能:

function na_get_gallery_image_urls( $post_id, $number = false ) {

    $post = get_post($post_id);
    $count = 0;

    // Make sure the post has a gallery in it
    if( ! has_shortcode( $post->post_content, \'gallery\' ) )
        return;

    // Retrieve all galleries of this post
    $galleries = get_post_galleries_images( $post );

    // Loop through all galleries found
    foreach( $galleries as $gallery ) {

        // Loop through each image in each gallery
        foreach( $gallery as $image ) {

            if ( $number == $count )
            return;

            echo \'<img src="\'.$image.\'">\';
            $count++;

        }

    }

 }
如果你把它放在你的函数中。php文件,然后可以使用如下ID调用函数:na\\u get\\u gallery\\u image\\u URL(128)。

相关推荐

Options for an SEO gallery?

我目前使用的是我喜欢的标准Wordpress图库,因为我的很多访问者在搜索了一些包含在图像描述中的文本后,通过谷歌找到了我。很明显,它以这样一种方式呈现了图库,文本被视为非常突出,我的许多访问者都通过图库进入。问题是gallery只支持纵向,而我还需要一些东西来显示横向中的图像(以避免边缘裁剪)。我发现一些允许两种方向的画廊很难将图像放在屏幕上,使它们看起来很好。我喜欢的最好的例子是Flickr,其中图像以俄罗斯方块的形式显示,但显然不允许在其下方发表评论。我完全有能力在wordpress插件中寻找一个好