提问人:Madara's Ghost 提问时间:12/23/2012 最后编辑:Madara's Ghost 更新时间:5/15/2017 访问量:9371
如何从WP_Post对象获取缩略图?
How can I get the thumbnail from a WP_Post object?
问:
我正在尝试在某个分类法下循环浏览一堆页面。循环部分效果很好,我得到了我需要的所有页面(很好地包装在对象中)。WP_Post
然而,现在我面临着另一种问题。我想包含编辑器中设置的页面缩略图。我尝试了我能想到的 、 、 的任意组合,但无济于事。get
the
thumbnail
featured
image
_
-
该对象相当新,并且缺少文档。WP_Post
谁能解开这个谜团?我的目标是最终展示一堆元素,包含图像、标题和每个对象的简短描述。<figure>
答:
1赞
The Alpha
12/23/2012
#1
不确定你想要什么,但如果你想获取某个页面的所有图像,那么你可以使用
$parent='your page id';
$args=array(
'post_parent' => $parent,
'post_type' => 'attachment',
'post_mime_type' => 'image',
'orderby' => 'menu_order',
'order' => 'ASC',
'numberposts' => -1
);
$images = get_children($args);
您可以将此代码粘贴到循环中,如果您提供适当的 as,那么您将获得所有图像作为数组,并且可以运行循环。page_id
parent
$images
在食品法典委员会阅读更多内容。
更新:
要仅获取特色图片,您可以使用
echo get_the_post_thumbnail('page id here', 'thumbnail');
在食品法典委员会阅读更多内容。
评论
0赞
Madara's Ghost
12/23/2012
我选择的“特色图片”是否在其中找到?如果是这样,有没有可能只得到那个?
0赞
The Alpha
12/23/2012
您只想获得页面的特色图片吗?
0赞
dyelawn
12/23/2012
#2
if ( have_posts() ) : while ( have_posts() ) : the_post();
// stuff before thumbnail
$thumbnail_args = array();
// insert whatever thumbnail args you want
echo get_the_post_thumbnail();
// stuff after thumbnail
endwhile; else:
echo "<h2>Sorry, nothing to see here.</h2>";
endif
不幸的是,WP_Post方法的命名非常糟糕。大多数与 Post 交互的方法都需要添加一些 '_' 和 'post' 的排列。
评论
0赞
Madara's Ghost
12/23/2012
(不?幸运的是,我没有使用全局循环,而是使用 WP_Query 生成的内部循环。无论如何,谢谢:)
8赞
brasofilo
12/23/2012
#3
以下只是以简码形式进行的概念证明。它会转储一个代码块,其中包含所有具有特色图片的帖子。
功能参考:has_post_thumbnail
、get_the_post_thumbnail
add_shortcode( 'all-post-thumbs', 'so_14007170_dump_post_thumbs' );
function so_14007170_dump_post_thumbs( $atts, $content )
{
// Query
$posts = get_posts( array(
'post_type' => 'post',
'numberposts' => -1,
'post_status' => 'publish'
) );
// Build an array of post thumbnails
$thumbs = array();
foreach( $posts as $post)
{
if( has_post_thumbnail( $post->ID) )
$thumbs[] = array( $post->post_title, htmlentities(get_the_post_thumbnail( $post->ID ) ) );
}
// Build output and return
$echo = '<pre>'. print_r( $thumbs, true ) . '</pre>';
return $echo;
}
前端结果:
带有特色图片的帖子:
评论
3赞
Madara's Ghost
12/23/2012
啊哈!这就是我一直在找的! 接受 ID!(我真的很讨厌WordPress)。谢谢!+25!get_the_post_thumbnail
0赞
brasofilo
5/15/2017
@developerbmw,什么逗号?:P
0赞
brettwhiteman
5/17/2017
@brasofilo好得多:D
评论