wp返回"错误"图片ID

时间:2017-08-25 11:19:11

标签: php wordpress

阱,

代码出错,所以我有一些我在这里看不到的东西......

我在wp页面上有以下代码:

$args = array(
    'post_type'        => 'attachment',
    'post_mime_type'   => 'image',
    'post_parent'      => $pages->ID
);
$images = get_posts($args);
$attachment_id = $images[0]->ID;
$i = wp_get_attachment_image_src($attachment_id, $size);
$p = array_values($i)[0];

if (has_post_thumbnail()) { 
    the_post_thumbnail($size);
} else {

} ?>

它在某种程度上起作用。 它将返回一个图像网址,我可以使用它在页面上显示图像,无论如何它返回的ID似乎有点随机。

我有正确的页面ID来查找$ pages中的图像

我需要返回该页面的第一张图片。

我认为,array [0]将是第一个页面图像,但显然它不是因为它从另一个页面返回非常奇怪的图片,这与此页面无关。

2 个答案:

答案 0 :(得分:0)

请尝试:

global $post;
$args = array(
  'post_type'        => 'attachment',
  'post_mime_type'   => 'image',
   'post_parent'      => $pages->ID
 );
$images = get_posts($args);
$attachment_id = $images[0]->ID;
$i = wp_get_attachment_image_src($attachment_id, $size);
$p = array_values($i)[0];

if (has_post_thumbnail($post->ID )) { 
  the_post_thumbnail($size);
} else {
} 

答案 1 :(得分:0)

我不确定,但似乎你做错了。 :)

为什么不能使用

echo get_the_post_thumbnail( $post_id, 'thumbnail', array( 'class' => 'alignleft' ) )

get_the_post_thumbnail_url( int|WP_Post $post = null, string|array $size = 'post-thumbnail' )

get_post_thumbnail_id( $post_id );