简体   繁体   中英

Wordpress/Woocommerce post was called incorrectly

I fixed all woocommerce deprecated functions except one,maybe someone can help me out.I am no professional. Thank You.

The only plugin activated is woocommerce so there is no plugin conflict problem.The wordpress is up to date so is woocommerce.

I am getting this notice,and from what I see the problem comes from page.php .

Notice: post was called incorrectly. Product properties should not be accessed directly. Backtrace: require('wp-blog-header.php'), require_once('wp-includes/template-loader.php'), include('/themes/barbuto/page.php'), WC_Abstract_Legacy_Product->__get, wc_doing_it_wrong Please see Debugging in WordPress for more information. (This message was added in version 3.0.) in /home/public_html/dev/wp-includes/functions.php on line 4139

This is the code from page.php file.

get_header(); ?>

<?php if(is_front_page()){ ?>

<!-- start of banner -->
        <div class="banner" style="background: url('<?php echo wp_get_attachment_url(get_post_thumbnail_id($post->ID)); ?>') no-repeat scroll center center transparent;">  
        </div>
<!-- end of banner -->

<div class="wrapper">
<ul class="products">
    <?php
        $args = array( 'post_type' => 'product', 'posts_per_page' => 1, 'meta_key' => '_featured', 'meta_value' => 'yes',  );
        $loop = new WP_Query( $args );
        echo "<h1>"; count($loop); echo "</h1>";
        $i=1;
        while ( $loop->have_posts() ) : $loop->the_post(); global $product;  global $woocommerce; ?>

        <div class="product_featured_img <?php echo $loop->post->ID; ?> <?php if(($loop->post->ID == '405') || ($loop->post->ID == '72')){ echo 'bottol';} ?>">
            <a href="<?php echo get_permalink( $loop->post->ID ) ?>" title="<?php echo esc_attr($loop->post->post_title ? $loop->post->post_title : $loop->post->ID); ?>">
            <?php woocommerce_show_product_sale_flash( $post, $product ); ?>
            <?php if (has_post_thumbnail( $loop->post->ID )) echo get_the_post_thumbnail($loop->post->ID, 'large'); else echo '<img src="'.woocommerce_placeholder_img_src().'" alt="Placeholder"  />'; ?>
              </a>
        </div>
    <div class="bottol_text product_featured_content">
        <h3>
        <a href="<?php echo get_permalink( $loop->post->ID ) ?>" 
        title="<?php echo esc_attr($loop->post->post_title ? $loop->post->post_title : $loop->post->ID); ?>">
            <?php the_title(); ?>
        </a>        
        </h3>

        <p>
        <?php 
        //$text_length = count($product->post->post_content);
        //if($text_length > 1000){
        //  echo substr($product->post->post_content,0,2000).'...';
                          /*}  else { */
        echo $product->post->post_content;  
        //} 
        ?> 
        </p>

         <?php if ( is_user_logged_in() ) {  ?> 
         <p class="price"><?php echo $product->get_price_html(); ?></p> 
         <div class="add_box">
         <a class="add_to_cart_button button product_type_simple" data-product_sku="<?php echo $product->get_sku(); ?>" data-product_id="<?php echo $loop->post->ID;?>" rel="nofollow" href="<?php  echo $product->add_to_cart_url(); ?>" > add to cart </a>
         </div>
         <?php }else{echo '<a href="' . get_permalink(wc_get_page_id('myaccount')) . '">' . __('PLEASE LOGIN/REGISTER TO VIEW PRICES', 'theme_name') . '</a>';}?>

    </div>

    <?php endwhile; ?>
    <?php wp_reset_query(); ?>
</ul><!--/.products-->      
    </div>  

Replace this line echo $product->post->post_content;
with
echo $loop->post->post_content;

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM