EC-CUBE Ver2.13.5とWordPressを連携させるとパラメータや商品登録ができなくなるバグがでました。
EC-CUBE Ver2.13.5で「wp-load.php」を読み込んだ際の注意点
EC-CUBE Ver2.13.5でWordPressを使うために「wp-load.php」を読み込むとダブルクォーテーションがエスケープされてしまい登録ができなくなってしまう。
これは、WP側でエスケープしてしまって起こる問題です。
読み込んだ後、下記コードで戻してあげると通常通り登録ができるようになりました。
まずEC-CUBEの「require.php」で「wp-load.php」を読み込む。
require_once __DIR__.'/wp-load.php';
この状態では、上記の説明で書いたように商品登録の際やパラメータを変更する際にエラーが発生します。
なので、「require.php」の追記したところに下記も追加してあげます。
function strip_magic_quotes_slashes($arr){ if(is_array($arr)){ return array_map('strip_magic_quotes_slashes', $arr); } else { return stripslashes($arr); } } $_GET = strip_magic_quotes_slashes($_GET); $_POST = strip_magic_quotes_slashes($_POST);
まとめるとこんな感じ。
require_once __DIR__.'/wp-load.php'; function strip_magic_quotes_slashes($arr){ if(is_array($arr)){ return array_map('strip_magic_quotes_slashes', $arr); } else { return stripslashes($arr); } } $_GET = strip_magic_quotes_slashes($_GET); $_POST = strip_magic_quotes_slashes($_POST);
コレで無事にエラーも発生せず、商品登録、パラメータ登録することができました!
ABOUT ME