我在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页面中的库图像?
最合适的回答,由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)。