0
私は、誰かが私を助けてくれるかもしれない、1つを除いてすべての非商用目的の機能を修正しました。私は専門家ではありません。ありがとうございました。Wordpress/Woocommerceのポストが間違って呼び出されました
アクティブな唯一のプラグインはwoocommerceなので、プラグインの競合の問題はありません。ワードプレスは最新ですので、woocommerceです。
私はこの通知を受け取りました。問題は、ページ.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
これはpage.phpファイルからコードです。あなたは一時的にこの行を削除する場合
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>
と、この行
echo $product->post->post_content;
を交換してください: 'エコー$製品 - >ポスト> POST_CONTENT;'通知が消えませんか? – Und3rTow
@ Und3rTow nopしかし、この行を変更して修正しました。echo $ product-> post-> post_content;この行にecho $ loop-> post-> post_content; \t、$ product iのinstedが$ loopを書いていて、それが働いています。ありがとうございますtho –