商品数量プルダウンメニュー化について

フォーラム テンプレート(テーマ) 商品数量プルダウンメニュー化について

  • このトピックには3件の返信、2人の参加者があり、最後にkota1010により5年、 9ヶ月前に更新されました。
4件の投稿を表示中 - 1 - 4件目 (全4件中)
  • 投稿者
    投稿
  • #85987
    kota1010
    参加者

    お世話になります。

    ずいぶん前に構築したWelcartサイトが放置状態になっていたので、テスト環境でクローンサイトを作って段階的にバージョンアップ作業をして検証しています。

    テーマはオリジナルで、Welcartに付属していたテンプレートを自作テーマ配下に配置して使っています。その時のWelcartのバージョンは1.4.3だったはずです。

    WordPressもWelcartも最新バージョンにまで上げて、とりあえず不具合は出ていなかったのですが、PHPを5.6から7.0にアップしたところ、以下のようなエラーメッセージが表示されました。

    Warning: Missing argument 1 for bks_the_itemQuant_select(), called in ◯◯/wc_templates/wc_item_single.php on line 78 and defined in ◯◯/functions.php on line 37

    エラーの該当箇所は、公式ガイドブックに出ていた「数量入力フィールドをセレクトフィールドに変更する」のコードで、functions.phpに以下のソースを追加しています。

    function bks_the_itemQuant_select( $max ){
    	global $post, $usces;
    	if(empty($max)){
    	$max = 10;
    	}
    	$zaiko = usces_the_itemZaikoNum('return');
    	$sku_enc = urlencode(usces_the_itemSku('return'));
    	$restriction = $usces->getItemRestriction($post->ID);
    	if( (''!= $zaiko && 0 < $zaiko &&'' != $restriction && $zaiko > $restriction) || ('' == $zaiko && '' != $restriction) ){
    		$max = $restriction;
    	} elseif( '' != $zaiko && 0 < $zaiko && '' != $restriction && $zaiko < $restriction ){
    		$max = $zaiko;
    	}
    	$select = '<select name="quant[' . $post->ID . '][' . $sku_enc . ']" id="quant[' . $post->ID . '][' . $sku_enc . ']" class="skuquantity" onkeydown="if (event.keyCode == 13) {return false;}">' . "\n";
    	for($i=1; $i<=$max; $i++){
    		$select .= '<option value="' . $i . '">' . $i . '</option>' . "\n";
    	}
    	$select .= '</select>';
    	echo $select;
    }

    そしてwc_item_single.phpの該当行には

    <?php bks_the_itemQuant_select(); ?>

    を入れてあります。

    このプルダウンメニュー化自体が古いコードで使えないのでは、と思っておりますが、上記のコードを修正するなり、もしくは全く別の方法でも構いませんので、PHP7.0でも商品数量がプルダウンメニューで選べるようカスタマイズしたいのですが、どのようにしたらよいでしょうか。

    一応動作環境は以下の通りです。

    ——————————————-
    WordPress のバージョン:4.9.6
    Welcart のバージョン:1.9.11
    Welcart専用の拡張プラグイン:WCEX Multi Price、WCEX Reports
    ご利用のテーマ:WelcartBasicの自作子テーマ
    サーバー:エックスサーバー
    SSLの利用:無(バージョンアップ後対応予定)
    WordPress のパーマリンク設定:/%category%/%postname%
    ——————————————–

    以上となります。
    お手数おかけしますがどうぞよろしくお願い申し上げます。

    • このトピックは5年、 9ヶ月前にyasumaxが編集しました。理由: ファイルまでのパス削除
    #85988
    kota1010
    参加者

    すいません、補足です。

    エラーが表示されるのはPHP5.3でも同じなので、
    PHPのバージョンは関係ないかと思われます。

    どのタイミングで表示されるようになったのか
    ちょっとハッキリしなくなってしまいましたが、
    おそらくWelcartのバージョンアップによって、
    だと思われます。

    以上です。よろしくお願いいたします。

    #85996
    yasumax
    キーマスター

    こんにちは

    「Warning: Missing argument ◯ for 関数名」は引数が欠落している際に表示されるエラーです。

    function bks_the_itemQuant_select( $max = 0 ){

    <?php bks_the_itemQuant_select( 10 ); ?>

    としてみてください。

    #86026
    kota1010
    参加者

    解決しました!

    早速のご回答、どうもありがとうございました!

4件の投稿を表示中 - 1 - 4件目 (全4件中)
  • このトピックに返信するにはログインが必要です。