2

我有一行 php 可以在我的自定义 wordpress 小部件中获取缩略图:

$footer_recent_thumb = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'footer-recent-thumbnail' );

它产生两个php错误:

NOTICE: customwidgets.php:75 - Undefined variable: post
NOTICE: customwidgets.php:75 - Trying to get property of non-object

我该如何解决这个问题?它与我用来获取博客缩略图的 php 相同,它在那里没有给出错误。

4

2 回答 2

12

我的猜测是这段代码在一个函数中,如下所示:

function doSomething($someparams) {
     // ...
     $fotoer_recent_thumb = // .....
     // ...
}

在这种情况下,$post此范围内不存在,必须通过在函数中添加以下行来导入:

global $post;

或者,更简洁地,将其作为参数传递。

于 2013-09-03T16:34:41.040 回答
3

试试这个方法:

if (has_post_thumbnail()) { 
    $footer_recent_thumb = wp_get_attachment_image_src( 
        get_post_thumbnail_id(get_the_ID()) , 'footer-recent-thumbnail'
    );

    // Do more stuff
}
于 2013-09-03T16:38:08.313 回答