実現したいこと
Welcart 一括商品登録をcronで自動実行したい
以前こちらで相談したのですが、
WPやプラグインのバージョンアップに
伴い、再びできなくなってしまったので再度相談します。
curlコマンドはAjaxを利用した通信は可能なのでしょうか?
前提
以下をシェルスクリプトで実現したいと考えています。
チェックを入れた項目については実現できていますが、
最後の「フォームをPOSTして商品を一括登録する」が実現できていません。
Welcartがバージョンアップして、
Ajaxを利用するようになったようです。
そのためか、curlを使ってフォームを
POSTするのですが処理が行われません。
[1]についてはオペレータが手動で行います。
[2]については、以下コマンドを実行します。
/usr/bin/php7.4 (プラグインディレクトリ)/bulk-media-register-add-on-wpcron/lib/bmrcroncli.php
[3]については、シェルスクリプトで生成します。
[4]については、まずWordPressにログインし、
curl -X POST -H "Content-Type:application/x-www-form-urlencoded" -H "charset:UTF-8" -c (cookieファイル) -d "log=(WordPressユーザid)" -d "pwd=(WordPressパスワード)" --verbose -L (サイトURL)//wp-login.php (見やすいように改行を入れています)
その時に取得したcookieを使ってフォームをPOSTしています。
curl -X POST -H "Content-Type:multipart/form-data" -H "charset:UTF-8" -b (cookieファイル) -F "upload_mode=all" -F itemcsv=登録開始 -F "action=upload_register" -F "usces_upcsv=@(一括登録データ).csv" (サイトURL)/wp-admin/admin.php?page=usces_itemedit & (見やすいように改行を入れています)
発生している問題・エラーメッセージ
以前のバージョンではこれで正しく商品が登録されていたのですが、
Ajaxを使う仕組みに変わったからなのか、
商品を登録することができなくなってしまいました。
「準備中」とまでは表示されるのですが・・・。
試したこと
シェルスクリプトで、末尾に「&」を入れて
バックグラウンド実行し、完了を待機してみましたが
結果は変わりませんでした。
補足情報(FW/ツールのバージョンなど)
curl 7.29.0
PHP 7.4
WordPress 6.2.2
プラグイン
Welcart e-Commerce 2.8.19
WCEX DL Seller 3.4.7
Bulk Media Register 1.31
0 コメント