根据帖子缩略图的存在添加Body类。代码工作正常,但收到了PHP通知

时间:2012-07-21 作者:Andrew

我想做的是根据是否有帖子缩略图添加一个body类。下面的内容很有效,但我收到了一个PHP通知。如何修复下面的PHP通知?

function add_featured_image_body_class( $classes ) {

    if( has_post_thumbnail() ) {
        $classes[] = \'has-featured-image\';
    }

    return $classes;
}
add_filter( \'body_class\', \'add_featured_image_body_class\' );
PHP注意事项:

PHP Notice:  Trying to get property of non-object in /wp-includes/post-template.php on line 30
这是post模板中的函数。php

function get_the_ID() {
  global $post;
  return $post->ID; // this is line 30
}

Update:

下面是我现在所拥有的,在没有PHP通知的情况下,它似乎可以正常工作

function add_featured_image_body_class( $classes ) {    
    global $post;

    if ( isset ( $post->ID ) && get_the_post_thumbnail($post->ID)) {
      $classes[] = \'has-featured-image\';
    }

    return $classes;
}
add_filter( \'body_class\', \'add_featured_image_body_class\' );

1 个回复
最合适的回答,由SO网友:Rachel Baker 整理而成

Try this code:

function add_featured_image_body_class( $classes ) {    
global $post;
    if ( isset ( $post->ID ) && get_the_post_thumbnail($post->ID)) {
          $classes[] = \'has-featured-image\';
 }
          return $classes;
}
add_filter( \'body_class\', \'add_featured_image_body_class\' );
结束

相关推荐

How do you debug plugins?

我对插件创作还很陌生,调试也很困难。我用了很多echo,它又脏又丑。我确信有更好的方法可以做到这一点,也许是一个带有调试器的IDE,我可以在其中运行整个站点,包括插件?