似乎有几个类似问题的答案,但我还没有找到一个适合我的人。
我有一个名为entertainement
的自定义帖子类型。 entertainement
有一个名为ent_categories
的分类。
其中一个ent_categories
称为Event
每个Event
都有一个图库,我正在尝试创建一个查询,该查询将返回已添加到具有类别entertainment
的任何CPT Event
的最新10张图片。
我希望收到一个数组中的网址列表。
从我在这里读到的内容应该是这样的:
$arg = array(
'post_status' => 'inherit',
'posts_per_page' => -1,
'post_type' => 'attachment',
);
$arg['tax_query'] = array(
array(
'taxonomy' => 'ent_categories',
'field' => 'name',
'terms' => array( 'Event' ),
),
);
$the_query = new WP_Query( $arg );
var_dump($the_query);
var_dump($the_query);
显示很多东西但没有图片?
关于这个的任何提示?
谢谢
编辑:
我刚看到我能做到这一点:
function pw_show_gallery_image_urls( $content ) {
global $post;
// Only do this on singular items
if( ! is_singular() )
return $content;
// Make sure the post has a gallery in it
if( ! has_shortcode( $post->post_content, 'gallery' ) )
return $content;
// Retrieve all galleries of this post
$galleries = get_post_galleries_images( $post );
$image_list = '<ul>';
// Loop through all galleries found
foreach( $galleries as $gallery ) {
// Loop through each image in each gallery
foreach( $gallery as $image ) {
$image_list .= '<li>' . $image . '</li>';
}
}
$image_list .= '</ul>';
// Append our image list to the content of our post
$content .= $image_list;
return $content;
}
add_filter( 'the_content', 'pw_show_gallery_image_urls' );
这导致所有图库图像网址都显示在图库中的图像下方。 也许这个函数可以从一个页面而不是从functions.php?
调用答案 0 :(得分:1)
您走在正确的轨道上,但是您要查询的attachment
类型的帖子term
ent_categories
分类只适用于entertainement
帖子,所以不会有任何一个,因为你会看到你是否:
var_dump($the_query->posts);
如果您转储所有
$the_query
,那么您将会看到很多内容,因为它是WP_Query
个对象。
您需要查询entertainement
个帖子:( 小心,因为您的slu in中有拼写错误!)
$arg = array(
'posts_per_page' => -1,
'post_type' => 'entertainement',
);
$arg['tax_query'] = array(
array(
'taxonomy' => 'ent_categories',
'field' => 'name',
'terms' => 'Event',
),
);
$the_query = new WP_Query( $arg );
然后你可以迭代帖子并获得这样的图库项目:
if ( $the_query->have_posts() ) {
while ( $the_query->have_posts() ) {
$the_query->the_post();
if (get_post_gallery()) :
echo get_post_gallery();
print_r(get_post_gallery_images());
endif;
}
/* Restore original Post Data */
wp_reset_postdata();
}
get_post_gallery_images()
会为您提供一系列图库网址
get_post_gallery()
会为您提供实际的HTML来打印图库。