EC-CUBE PR

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
シラツキ
Web制作会社で働くフロントエンドエンジニア(コーダー)。 ココナラでもお仕事募集しております。 HTML,CSS,JS,WordPress,EC-CUBE,Next.jsなど制作に役立つ情報を発信していきます。 webサイトの運営、修正、制作などお仕事も募集中! お気軽にご相談ください。