我最近在测试服务器上更新了wordpress和PHP。我已经修复了很多错误,但是这个错误让我很困惑。在我的商店页面上,我的缩略图停止显示。我的产品和价格仍然正确显示。这是错误消息
Notice: id was called incorrectly. Product properties should not be accessed directly.
这是PHP
<?php
$placeholder_width = $placeholder_height = 400;
$url = wp_get_attachment_image_src( get_post_thumbnail_id($product->ID), array(260,260) );
if ( has_post_thumbnail() ){?>
<?php if ( is_plugin_active( 'woocommerce-lazyload/woocommerce-lazyload.php' )) {?>
<a href="<?php echo get_permalink($posts->ID) ?>"> <img data-src="<?php echo get_the_post_thumbnail_url($posts->ID , ['220','220']); ?>" class="attachment-220x220 size-220x220 wp-post-image" width="300" height="300"></a>
<?php }else{ ?>
<a href="<?php echo get_permalink($posts->ID) ?>"> <img src="<?php echo get_the_post_thumbnail_url($posts->ID , ['220','220']); ?>" class="attachment-220x220 size-220x220 wp-post-image"></a>
<?php }?>
<?php
}
else {
echo '<img src="'. woocommerce_placeholder_img_src() .'" alt="Placeholder" width="' . $placeholder_width . '" height="' . $placeholder_height . '" />';
}
?>
此块是问题所在。我试图删除if语句和jsut包含图像和URL的抓取。我试图将$product->ID
转换为$product->get_id()
,而后者实际上消除了错误消息,但是缩略图没有显示出来。它必须正确显示postID,因为名称和价格会显示出来并进行相应的分类。有什么建议么?