产品ID不应直接访问

时间:2019-06-06 17:37:17

标签: php wordpress woocommerce error-handling

我最近在测试服务器上更新了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,因为名称和价格会显示出来并进行相应的分类。有什么建议么?

0 个答案:

没有答案