Php 如何从WP_Post对象获取缩略图?

Php 如何从WP_Post对象获取缩略图?,php,wordpress,Php,Wordpress,我试着在某个分类下循环浏览一堆页面。循环部分工作得很好,我得到了我需要的所有页面(很好地包装在WP\u Post对象中) 然而,现在我面临着一个不同的问题。我想包括编辑器中设置的页面缩略图。我尝试了获取,缩略图,特色,图像,.,-的任何组合,我想都没有用 WP\u Post对象是相当新的,并且 有人能解释这个谜吗?我的目标是最终显示一组元素,其中包含图像、标题和每个对象的简短描述。不确定您想要什么,但如果您想要获取某个页面的所有图像,则可以使用 $parent='your page id'; $

我试着在某个分类下循环浏览一堆页面。循环部分工作得很好,我得到了我需要的所有页面(很好地包装在
WP\u Post
对象中)

然而,现在我面临着一个不同的问题。我想包括编辑器中设置的页面缩略图。我尝试了
获取
缩略图
特色
图像
.
-
的任何组合,我想都没有用

WP\u Post
对象是相当新的,并且


有人能解释这个谜吗?我的目标是最终显示一组
元素,其中包含图像、标题和每个对象的简短描述。

不确定您想要什么,但如果您想要获取某个页面的所有图像,则可以使用

$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);
echo get_the_post_thumbnail('page id here', 'thumbnail');
您可以将此代码粘贴到循环中,如果您提供相应的
页面id
作为
父项
,那么您将在
$images
中以数组的形式获取所有图像,并可以运行循环

阅读更多

更新: 仅获取您可以使用的特色图像

$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);
echo get_the_post_thumbnail('page id here', 'thumbnail');
阅读更多。

if(have_posts()):while(have_posts()):the_post();
//缩略图之前的内容
$thumbnail_args=array();
//插入所需的任何缩略图参数
echo获取帖子缩略图();
//缩略后填充
结束时;其他:
echo“对不起,这里没什么可看的。”;
恩迪夫

不幸的是,WP_Post方法的命名非常糟糕。大多数与Post交互的方法都需要添加一些“u”和“Post”的排列。

以下只是以短代码形式的概念证明。它转储一个包含所有具有

函数引用:

add_shortcode('all post thumbs','so_14007170_dump_post_thumbs');
函数so_14007170_dump_post_thumbs($atts,$content)
{
//质疑
$posts=获取_posts(数组(
“post_type”=>“post”,
“numberposts”=>-1,
“发布状态”=>“发布”
) );
//构建一个帖子缩略图数组
$thumbs=array();
foreach($posts作为$post)
{
如果(有帖子缩略图($post->ID))
$thumbs[]=数组($post->post_title,htmlentities(获取_post_缩略图($post->ID));
}
//构建输出和返回
$echo=''.print\u r($thumbs,true)。'';
返回$echo;
}
前端结果:

带有特色图片的帖子:


我选择的“特色图片”是否在这些图片中找到?如果是这样的话,有可能只得到那一张吗?你想只得到页面的特色图片吗?啊哈!这就是我要找的<代码>获取帖子缩略图接受ID!(我真的很讨厌WordPress)。谢谢大家!+25!@developerbmw,什么逗号P@brasofilo更好:D(un?)幸运的是,我使用的不是全局循环,而是由WP_查询生成的内部循环。无论如何,谢谢你:)