- ステータス
- 解決済み
- 報告対象
- WPML Multilingual & Multicurrency for WooCommerce 4.6.1
- 解決されたバージョン
- 4.6.2.1
問題の概要
WPML Multilingual & マルチ通貨 for WooCommerce 4.6.1、およびおそらくそれ以前のリリースでも問題が発生する可能性があります。
このエラーは、次のようなタイムアウトとして発生します:
PHP Fatal error: Maximum execution time of 60 seconds exceeded in /wp-includes/class-wp-hook.php on line 288
回避策
この問題は、値が0(ゼロ)のメタキー_thumbnail_idが存在することによって発生します。
以下のクエリで確認できます。
SELECT * FROM `wp_postmeta` WHERE `meta_key` = '_thumbnail_id' AND `meta_value` = '0';
回避策として、データベースからこれらの値を削除するか、以下のパッチを適用します。
1. ../wp-content/plugins/woocommerce-multilingual/inc/ フォルダーに移動し、class-wcml-products.phpファイルを編集します。
2. 以下の行を見つけます。
if( is_product() && !$this->woocommerce_wpml->products->is_original_product( $product_id ) ){
3. その行を以下に変更します。
$is_original_product = $this->woocommerce_wpml->products->is_original_product( $product_id );
if( is_product() && !$is_original_product ){
4. 次に、以下の行を見つけます。
} elseif ( '_product_image_gallery' === $meta_key ) {
5. その行を以下に変更します。
} elseif ( '_product_image_gallery' === $meta_key && !$is_original_product ) {
6. 最後に、以下の行を見つけます。
} elseif ( '_thumbnail_id' === $meta_key ) {
7. その行を以下に変更します。
} elseif ( '_thumbnail_id' === $meta_key && !$is_original_product ) {
8. ファイルを保存してテストします。