WooCommerceプラグインに関連したエラーの対処方法がわかりません



  • はじめまして、ヒデと申します。

    テーマJINをいつも利用させていただいております。
    素晴らしいテーマで大変気に入っております。

    当方のサイトでプラグイン WooCommerceも併せて利用しているのですが、最近そのプラグインをアップデートした際に、そのプラグイン内のシステム情報で以下のエラーメッセージが表示されてしまいます。

    Fatal error: Uncaught Error: Call to undefined function prepare_request() in /home/uniwords/uniwords-english.com/public_html/wp-content/themes/jin/theme-update.php:108 Stack trace: #0 /home/uniwords/uniwords-english.com/public_html/wp-includes/class-wp-hook.php(286): ATPU_Theme->theme_api_call(false, 'theme_informati...', Object(stdClass)) #1 /home/uniwords/uniwords-english.com/public_html/wp-includes/plugin.php(208): WP_Hook->apply_filters(false, Array) #2 /home/uniwords/uniwords-english.com/public_html/wp-admin/includes/theme.php(480): apply_filters('themes_api', false, 'theme_informati...', Object(stdClass)) #3 /home/uniwords/uniwords-english.com/public_html/wp-content/plugins/woocommerce/includes/admin/class-wc-admin-status.php(244): themes_api('theme_informati...', Object(stdClass)) #4 /home/uniwords/uniwords-english.com/public_html/wp-content/plugins/woocommerce/includes/api/v2/class-wc-rest-system-status-v2-controller.php(944): WC_Admin_Status::get_latest_theme_version(Object(WP_Theme)) #5 /home/uniwords/uniwords-e in /home/uniwords/uniwords-english.com/public_html/wp-content/themes/jin/theme-update.php on line 108
    The site is experiencing technical difficulties. Please check your site admin email inbox for instructions.

    先頭付近で「Call to undefined function prepare_request()...theme-update.php:108」の部分だけは「prepare_requestという関数は定義されてません。theme-update.phpの108行を確認してください。」という意味だと解釈できたのですが、そのPHPファイルをどう修正したらよいのか、そもそも修正すべきなのか、途方に暮れております。さらに、それ以降の部分については解釈すらできません・・・。

    とりあえずは、フロントエンドの表示や機能等には今のところ影響が出ていないので、ホッとしておりますが、何かアドバイスやお気付きの点等ありますでしょうか?

    もちろんPHP修正等のカスタマイズは自身で行なうつもりです。

    お手数をおかけしますが、何卒宜しくお願い致します。


    マニュアル確認済み
    キャッシュクリア済み
    WordPressのバージョン : 5.2
    ご利用のサーバー名 : エックスサーバー
    PHPのバージョン : 7.0.30
    OS : Win10
    ご利用のブラウザ : Chrome
    該当サイトのURL : https://uniwords-english.com


  • administrators

    @heeday さん

    こんにちは!JIN運営チームのりょうたです。
    詳細をお書きいただき有難うございます。

    問題のエラーは@heeday さんのおっしゃる通りでだと思います。
    それ自体はそこまで問題はないのですが、問題はそのエラーが「theme-update.php」ファイル内にあるという部分です。
    このファイルはテーマの更新をWordPressの管理画面上に通知するためのファイルで、バージョンアップを自動的に通知してくれるファイルです。

    また、その後のエラー内容を読み取るとどうやらWooCommerceとテーマ更新通知のAPIがコンフリクトを起こしています。

    この状態では正常にWooCommerceを使うことができないので早急に解決するべきかと思いますが、
    正直この機能をそのものを変えてしまう可能性がございますので、ここでの解決は難しいかと思います。
    これを変えたら大丈夫という問題ではないように思います。。

    どうしてもWoocommerceを使いたいのであれば、
    JINテーマ内のtheme-update.phpを削除し今後JINの更新を手動で行なっていただくのが良いかと思います。

    それか有料でカスタマイズを行なっていただける方に詳細をお伝えし解決するのが早いように思います。

    お手数お掛け致しますが、上記ご検討の程宜しくお願い致します。



  • りょうた様、

    ご返信ありがとうございました!大変助かります。

    とりあえずエラー表示を何とかしたいので、当面は助言いただいた通り、theme-update.php を一時的に削除しました。
    その際に、/wp-content/themes/jin/functions.php on line 1141 の部分についても、以下のようにコメントアウトしました。

    //アップデートチェック
    //require_once( 'theme-update.php' );
    // 引数に api の URL を指定
    //$ATPU_Theme = new ATPU_Theme( 'https://jin-dev.com/jin/api/' );

    これで、WooCommerce内にて無事エラーメッセージは出なくなりました。
    もし間違っていましたら、ご指摘ください。

    私ももっとPHPを勉強したいと思います(-_-;)

    ありがとうございました。