如何在wordpress中使用post id获取post thumbnail?

时间:2014-02-13 12:49:21

标签: php wordpress wordpress-plugin wordpress-theming

我正在尝试使用post_id获取帖子缩略图,但我遇到了很多问题。

Iam在主题目录

中的单独php文件中调用该函数
echo get_the_post_thumbnail('637');
  

致命错误:在......中调用未定义的函数get_the_post_thumbnail()

1)我们可以使用post_id

获取缩略图

2)我们可以使用post_id

获取图像源

请任何人帮助我

提前致谢

4 个答案:

答案 0 :(得分:10)

试试这个

global $post;
$thumb = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'post'); 
echo $thumb[0];

答案 1 :(得分:8)

在你的情况下,你犯了一个小错误,当函数需要一个整数值时,你将单引号放在函数中。

 echo get_the_post_thumbnail('637');  

Bellow代码是有效的尝试。

简单表格

 echo get_the_post_thumbnail(637);  

尺寸指定表格,其中第二个参数是图像的大小。

 echo get_the_post_thumbnail(637, array(100,100));  

你也可以尝试下面的代码


get_the_post_thumbnail(637);                  // without parameter -> Thumbnail
get_the_post_thumbnail(637, 'thumbnail');     // Thumbnail
get_the_post_thumbnail(637, 'medium');        // Medium resolution
get_the_post_thumbnail(637, 'large');         // Large resolution
get_the_post_thumbnail(637, 'full');          // Original resolution

您也可以参考WordPress codex Here。 我还将在blog

上撰写关于此主题的完整帖子

答案 2 :(得分:5)

使用Require_once或include_once

require_once('/the/path/to/your/wp-blog-header.php');

include_once('wp-blog-header.php' );





get_the_post_thumbnail($post_id);           // without parameter -> Thumbnail


get_the_post_thumbnail($post_id, 'thumbnail');     // Thumbnail
get_the_post_thumbnail($post_id, 'medium');        // Medium resolution
get_the_post_thumbnail($post_id, 'large');         // Large resolution
get_the_post_thumbnail($post_id, 'full');          // Original resolution

get_the_post_thumbnail($post_id, array(100,100) ); // Other resolutions
Out side of loop
global $post;


if (has_post_thumbnail( $post->ID ) ){
//    
      get_the_post_thumbnail($post->ID); 
//

}

答案 3 :(得分:0)

创建帖子模板..看起来像这样(post_temp.php)

 <?php

   $args=array('order'=> 'DESC', 'posts_per_page'=>get_option('posts_per_page'));

   $query=new WP_Query($args);

   if( $query->have_posts()): 

   while( $query->have_posts()): $query->the_post();

   {
     echo get_the_post_thumbnail($post->ID); 
   }

   endwhile; 
   else:
   endif;

 ?>