EC-CUBEでWordPressを使うと商品登録やパラメータが登録できなくなる問題の対策
記事内に商品プロモーションを含む場合があります
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