Skip to content

エラー解決メモ「関数 post が誤って呼び出されました。商品のプロパティに直接アクセスしないでください。」

黒い箱、赤いボール

WooCommerceでは商品データに直接アクセスすることができなくなっているようです。 (悪い例: $product->id)。今後は $product->get_id() が正しい方法となります。

私のプロジェクトで発生したエラーは以下の行が原因でした。

get_user_by( 'id', $product->post->post_author );

ここで、画面に表示されている商品に関する投稿者のIDを読み込み、IDによって色々ユーザーに関する情報(プロフィール写真など)を表示されるものでした。

これを以下のように書き換えたらエラーが解消されました。

get_userdata($post->post_author);

エラーメッセージ

Notice: 関数 post が誤って呼び出されました。商品のプロパティに直接アクセスしないでください。 Backtrace: require(‘wp-blog-header.php’), require_once(‘wp-includes/template-loader.php’), include(‘/themes/????/woocommerce/single-product.php’), get_sidebar, locate_template, load_template, require_once(‘/themes/????/sidebar.php’), WC_Abstract_Legacy_Product->__get, wc_doing_it_wrong 詳しくは WordPress のデバッグをご覧ください。 (このメッセージはバージョン 3.0 で追加されました) in /home/????-????/www/????/wp-includes/functions.php on line 5831

最終更新日: 2025-12-05

この記事は役に立ちましたか?

前へ...

WordPressの最新記事をWordPress外のhtmlページに表示できましたが Warning: Cannot modify header information エラーが表示されます

次へ...

サーバー引越し後にエラー、Warning: array_key_exists() expects parameter 2 to be array, bool given in…