star

動作の不具合の検証には環境情報が必要です。投稿の際は下記の情報をお書き添えください。
-------------------------------------------
WordPress のバージョン:(例 5.6)
Welcart のバージョン:(例 2.1.1)
PHP のバージョン:(例 7.4)
Welcart専用の拡張プラグインとバージョン:(例 DL Seller 3.0.8、SKU Select 1.1.4)
ご利用のテーマ:(例 WelcartBasic の自作子テーマ)
症状を確認したブラウザ:
サーバー【重要】:(会社名、サービス名)
--------------------------------------------

フォーラムへの返信

2件の投稿を表示中 - 1 - 2件目 (全2件中)
  • 投稿者
    投稿
  • star
    参加者

    sagawa様

    不具合の可能性、承知いたしました。注意しながら進めていきたいと思います。何かあれば依頼させていただきます。ありがとうございました。

    star
    参加者

    ご返信ありがとうございます。

    自身で行ったカスタマイズの記述を元に戻すと、エラーは出ません。

    ご指摘の通り、SKう価格は取得出来ているようなのですが、「第一パラメーターが配列ではない」エラーが消えれば解決されます。

    ———————————

    色々試したところ、解決しました。

    ただ、私の知識ではその理由と、そもそも正しいのかも分かり兼ねるので、補足いただいて他の方に参考になれば幸いです。

    エラーの元になっていたのは、

    cart.class.phpに記述されている、get_realprice()のfunction内の、usces_filter_realpriceというフックでした。

    usces_filter_realpriceフックを削除したところ、get_realprice()でSKU価格をカート内で取得ができました。

    function get_realprice($post_id, $sku, $quant, $price = NULL, &$unit_price = null) {
    global $usces;
    $sku = urldecode($sku);
    $skus = $usces->get_skus( $post_id, ‘code’ );

    if($price === NULL) {
    $p = isset($skus[$sku][‘price’]) ? $skus[$sku][‘price’] : ”;
    } else {
    $unit_price = $price;
    }
    if( isset($skus[$sku][‘price’]) && !$skus[$sku][‘gp’] ) return $p;

    $realprice = usces_get_gp_price($post_id, $p, $quant);

    return $realprice;
    }

    cart.class.phpを直接編集することは不都合なので、上記の関数ごとfunction.phpに記載したらget_realpriceがエラーを吐くことなく、機能いたしました(表面上は)。

    get_realprice($post_id, $sku, $quantity, $realprice);

    にてSKU価格がエラーなく取得できました。

2件の投稿を表示中 - 1 - 2件目 (全2件中)