usces_filter_incart_checkで返すエラーが表示されない
-
投稿者投稿
-
2014年10月2日 12:53 PM #72222
accent
参加者——————————————-
WordPress のバージョン:4.0
Welcart のバージョン:1.4.8.1409231
ご利用のテーマ:AN TCD014
症状を確認したブラウザ:chrome
サーバー(会社名、サービス名):ロリポップ
SSLの利用: 共用
WordPress のパーマリンク設定:/archives/%post_id%
——————————————–
はじめまして、よろしくお願いします。
同時購入をさせたくない商品のskuを Recurring_SKU に配列で管理し
メッセージを返したいと思っています。そこで以下のように、書きました。
add_filter(‘usces_filter_incart_check’, function($mes, $post_id, $sku) {
global $usces;
global $Recurring_SKU;
$cart = $usces->cart->get_cart();if(in_array($sku,$Recurring_SKU)==true)
{
if(count($cart) >0)
{
$mes[$post_id][$sku]= “こちらの商品は他の商品と同時に購入できません”;
}
}
return($mes);
}, 99, 5);商品はカートに入らないようになりましたが、エラーメッセージが表示されません。
<div class=”error_message”></div>
URLには、#cart_button が付加されております。ご教授願えると助かります。
2014年10月2日 2:27 PM #72224
yskysmrキーマスターこんにちは。
add_filter は、以下のように記述してください。
add_filter( ‘usces_filter_incart_check’, ‘my_filter_incart_check’, 10, 3 ); function my_filter_incart_check( $mes, $post_id, $sku ) { : }2014年10月16日 3:24 PM #72387accent
参加者yskysmr 様
add_filter( ‘usces_filter_incart_check’, ‘my_filter_incart_check’, 10, 3 );
function my_filter_incart_check( $mes, $post_id, $sku ) {
:
}のように、書き換えましたが、やはりエラーメッセージは表示されずカートに入れようとした商品ページに戻されるだけの動作になります。
コーディングが悪いのでしょうか?
2014年10月25日 12:09 PM #72484
nanbuキーマスターこんにちは。
何がreturnされているかvar_dumpしてみていますか?
in_array($sku,$Recurring_SKU)は間違いなくtrueですか?2014年10月25日 11:34 PM #72500accent
参加者nanbuさん ありがとうございます。
$mes[$post_id][$sku]= “こちらの商品は他の商品と同時に購入できません”;
という形で返っています。in_array($sku,$Recurring_SKU) は trueです。
2014年10月30日 5:41 AM #72549
nanbuキーマスターそうですか。
では、SKUコードに全角文字を使っていることは無いでしょうか。もしそうでしたら$skuはurlencodeしてやらなくてはいけません。
それとテンプレート側ですが、この様になっていますでしょうか。
<div class="error_message"><?php usces_singleitem_error_message($post->ID, usces_the_itemSku('return')); ?></div>2014年11月10日 7:50 AM #72683accent
参加者nanbuさん
SKUコードは半角英数字です。
‘<div class=”error_message”>’ .usces_singleitem_error_message($post->ID, usces_the_itemSku(‘return’), ‘return’). ‘</div>’
となっています。
2014年11月25日 5:46 AM #72808
nanbuキーマスター上記コードはwc_teplatesのものではないようですが、テンプレートは何を使っていらっしゃいますか?
2014年11月25日 5:51 PM #72845accent
参加者nanbuさん お返事ありがとうございます。
TCDの AN です。
2014年11月28日 2:50 PM #72908
nanbuキーマスターどちらのテーマか存じませんが、商品詳細ページはwc_templatesを使っていただくのが良いかと思います。
2025年12月12日 7:28 AM #103983Alicia
参加者いつもお世話になっております。
次のトピックに関連するかもしれませんが、
SKUに/や-の記号が含まれていると数量更新ができないusces_filter_incart_check
では、コロン(:) もダメでした。
Welcart 2.11.25 usc-e-shop/functions/template_func.php 3709~ function usces_singleitem_error_message( $post_id, $skukey, $out = '' ) { if ( ! isset( $_SESSION['usces_singleitem']['error_message'][ $post_id ][ $skukey ] ) ) { $ret = ''; ///////////////// ← SKUコードに コロン(:)が含まれていると、エラーメッセージが表示されずこの行を通りました。 } else { $ret = $_SESSION['usces_singleitem']['error_message'][ $post_id ][ $skukey ]; } if ( 'return' === $out ) { return wel_esc_script( $ret ); } else { wel_esc_script_e( $ret ); } }一応、マニュアルを確認したのですが、現状では、
SKUコード(必須)
半角英数で作成してください。空白文字を含めるのは推奨いたしません。
ハイフン(-)、アンダースコア(_) 、コロン(:)は利用可能です。
重複のないユニークなコードが必要です。同一商品内で同じSKUコードを使用することはできません。コードの付け方にルールはありませんが、あまり長くなり過ぎると改行したりして見栄えが悪くなります。となっていました。
お忙しいところ恐れ入りますが、ご確認いただけますと幸いです。
よろしくお願いいたします。2025年12月12日 8:15 AM #103984Alicia
参加者——————————————-
テスト環境
WordPress のバージョン:6.8.3
Welcart のバージョン:2.11.25
PHP のバージョン:8.2.28
Welcart専用の拡張プラグインとバージョン:WCEX SKU Select 1.4.7
ご利用の親テーマとバージョン : Welcart Basic 1.8.8
ご利用の子テーマとバージョン : なし
症状を確認したブラウザ: Chrome (Win)
サーバー【重要】:シンクラウド株式会社 シン・レンタルサーバー ベーシック
——————————————–2025年12月12日 3:56 PM #103986
yskysmrキーマスターAlicia 様
いつもありがとうございます。
まず、大変恐縮ですが、投稿主様の症状と同じではあると思いますが、おそらく利用しているWelcartのバージョンが異なると思います。可能でしたら、新たに投稿を作成していただけますよう、お願いいたします。お問い合わせの内容につきまして、そもそも
usces_filter_incart_checkフックのリファレンスの用意がありませんでした。大変申し訳ありません。早急に作成して公開いたします。
(追記:公開いたしました。)usces_filter_incart_checkフックの第3引数の$skuですが、使用するときに、urldecodeをしてみていただけますでしょうか。$mes[ $post_id ][ urldecode( $sku ) ] .= ‘エラーメッセージ’;
フックの引数として渡すときにデコード済みの値を渡すように修正することは影響が大きいので、今のところ対応の予定はありません。
お手数ですが、お試しくださいませ。2025年12月15日 7:10 AM #103990Alicia
参加者usces_filter_incart_checkで返すエラーが表示されない(続)
トピック立てました。
-
投稿者投稿
- このトピックに返信するにはログインが必要です。
PAGE TOP