我没有对此进行测试,但逻辑上……;)
贴在帖子上的图片应该有post_parent
大于零,最新的帖子(帖子家长)的ID最高,尽管长期的选秀帖子可能会稍微偏离这一点。所以,如果你按post_parent
降序你应该有12个与你的帖子相关的附件。
$args = array(
\'post_type\' => \'attachment\',
\'posts_per_page\' => 12, // numberposts is long since deprecated in WP_Query
\'post_status\' => inherit,
\'orderby\' => \'post_parent\',
\'order\' => \'DESC\'
);
现在,如果您从页面和CPT获取附件,您将需要一个更复杂的解决方案,并且必须查询您的帖子以获取ID,然后提取附件。
知道如何获取父帖子/页面的链接吗?我尝试了“get\\u permalink($post->post\\u parent)”,但它只提供了最新的帖子。(摘自下面的评论)
代码的编写方式$post
不会设置全局。你需要的是$attachment->post_parent
. 或者,根据我的喜好,跳过get_posts()
包装和使用WP_Query
自身:
$args = array(
\'post_type\' => \'attachment\',
\'posts_per_page\' => 12, // numberposts is long since deprecated in WP_Query
\'post_status\' => \'inherit\',
\'orderby\' => \'post_parent\',
\'order\' => \'DESC\'
);
$attachments = new WP_Query( $args );
if ( $attachments->have_posts() ) {
while ( $attachments->have_posts() ) {
$attachments->the_post();
var_dump($post->post_parent); // now it is set
echo \'<li>\';
echo wp_get_attachment_image( $post->ID, array(\'90\', \'90\') );
echo \'</li>\';
}
}