解決済ステータス「キャンセル」が効かない
タグ: ステータス キャンセル
- このトピックには7件の返信、2人の参加者があり、最後にmasato-hashimotoにより1年、 10ヶ月前に更新されました。
-
投稿者投稿
-
2022年12月5日 11:34 AM #99057
——————————————-
WordPress のバージョン:(例 5.8)
Welcart のバージョン:(例 2.8.6)
PHP のバージョン:(例 7.4.33)
Welcart専用の拡張プラグインとバージョン:(例 DL Seller 3.4.3、WCEX Mobile 1.2.1)
ご利用の親テーマとバージョン :(例 Welcart Default 1.2.1)
ご利用の子テーマとバージョン :(例 なし)
症状を確認したブラウザ:
サーバー【重要】:(さくらインターネット、ビジネス)
——————————————–1カ月半ほど前から、商品を購入した後にステータスを手動で「キャンセル」にしても、購入がキャンセルされない現象が発生しています。弊社サイトでは、商品を購入した場合、その商品を購入した人だけが有料会員限定部分を読める仕組みを導入しており、解約があった場合は弊社側で商品購入を「キャンセル」すると有料会員限定部分が読めなくなる仕組みを8年ほど前から導入して使っていますが、1ヵ月ほど前から「有料会員をかなり前に解約したのに有料会員限定部分が読める。また新たに購入しようとしても二重購入防止機能が働いて、カートが出てこない」という連絡が読者からあり、これまで同様の訴えが3件ありました。
キャッシュ関係のプラグインを外したり、WordPressのバージョンが6.1だったのを5.8に戻したりといろいろやってみましたが、状況が変わりません。
その後、弊社でいったん購入した商品を外してみたところ、有料部分が読めなくなり、新たに購入するためのカートが出現しました。しかし、購入した状態でステータスを「キャンセル」にすると、有料部分が読めるままで、新たに購入するためのカートは出現しない状況が常に出現することが確認できました。
結果として、現状ではステータスをキャンセルに変更しても、商品購入がキャンセルされない状態になっているように思えるのですが、一度、「キャンセル」が正常に作動しているかご確認くださいませんでしょうか。
どうぞよろしくお願いいたします。
2022年12月6日 1:59 PM #99069ikedaキーマスターmasato-hashimoto 様
こんにちは。商品を購入した場合、その商品を購入した人だけが有料会員限定部分を読める仕組みを導入しており、解約があった場合は弊社側で商品購入を「キャンセル」すると有料会員限定部分が読めなくなる仕組み
こちらの「有料会員限定部分を読める仕組み」とは、マイページからダウンロードできるコンテンツのことでしょうか。
または投稿記事などを閲覧できるようにカスタマイズされているということでしょうか。
後者の場合は、カスタマイズの修正が必要になるかと思われます。2022年12月7日 9:55 AM #99076さっそくの返信、ありがとうございます。ダウンロードではなく、有料会員商品を購入している場合だけ、以下のような仕組みで、ページの中のmore以下が有料会員用の表示になるようにしています。
まず、functions.phpで、有料会員商品を購入している人のIDと商品の sku code を設定し
—————————-
function CheckPurchasedItem($postId) {
global $usces;$yuryo_postId = ‘****’; //post id
$yuryo_skuCode = ‘**********’; //sku code—————————-
有料会員商品を購入している人のレベルを10にして
—————————-
$user_level = 0;
if(usces_is_login()){
$user_level = 1;
if( $usces->is_purchased_item(usces_memberinfo(‘ID’, ‘return’), $postId, usces_the_itemSku(‘return’) ) ) {
$user_level = 5;
}else if ($usces->is_purchased_item(usces_memberinfo(‘ID’, ‘return’), $yuryo_postId, $yuryo_skuCode) ) {
$user_level = 10;
}else{
$user_level = 2;
}
}
return $user_level;
}————————
single.phpで、moreの前後で記事を分割して、有料会員商品を購入している人だけにmoreの後を表示しています。
————————
<?php
$content = get_the_divided_content(‘<p class=”serif”>続きを読む‘);
echo $content[‘before’];$user_level = CheckPurchasedItem($post->ID);
$ret = CheckPurchasedItemMsg($user_level, false);if ($user_level != 10 && strlen($content[‘after’]) > 0) {
?><?php if ($user_level >= 0 && $user_level <= 9) : ?><?php endif; ?>
<?php } else { ?>
<?php echo $content[‘after’]; ?>
<?php } ?>————————
このような仕組みで、1ヵ月ほど前までは正常に運用できていたのですが、特に何も変更していないのに、急に「キャンセル」が効かなくなりました。
- この返信は1年、 11ヶ月前にmasato-hashimotoが編集しました。
2022年12月7日 5:32 PM #99080すみません。先の説明で、functions.phpの中で、本文を[‘before’]と[‘after’]に変更する部分を書いていませんでした。
——————
function get_the_divided_content( $more_link_text = null, $stripteaser = 0, $more_file = ” ) {
$regex = ‘#(<p><span id=”more-[\d]+”></span></p>|<span id=”more-[\d]+”></span>)#’;
$content = get_the_content( $more_link_text, $stripteaser, $more_file );
$content = apply_filters( ‘the_content’, $content );
$content = str_replace( ‘]]>’, ‘]]>’, $content );
if ( preg_match( $regex, $content ) ) {
list( $content_array[‘before’], $content_array[‘after’] ) = preg_split( $regex, $content, 2 );
} else {
$content_array[‘before’] = $content;
$content_array[‘after’] = ”;
}
return $content_array;
}———————-
どうぞよろしくお願いいたします。
- この返信は1年、 11ヶ月前にmasato-hashimotoが編集しました。
2022年12月9日 4:47 PM #99099ikedaキーマスターmasato-hashimoto 様
こちら詳しくご連絡いただき有難うございます。
次期バージョンの Welcart で対応させていただきたいと思いますので
リリース後症状が改善するかどうかご確認いただけますと幸いです。
恐れ入りますが少しお時間をいただけますでしょうか。
リリース次第改めてご案内させていただきます。2022年12月9日 5:37 PM #99100ありがとうございます。
お手数をおかけしますが、どうぞよろしくお願いいたします。
2022年12月16日 1:50 PM #99171ikedaキーマスターmasato-hashimoto 様
昨日リリースいたしました Welcart2.8.7 にて対応完了しております。
最新ver(2.8.8)にアップデートしていただき症状のご確認をいただけますと幸いです。2022年12月16日 7:54 PM #99178ご対応ありがとうございます。
Welcart最新ver(2.8.8)にバージョンアップされていることを確認した上で、購入した有料会員商品を「キャンセル」したところ、有料会員限定部分が読めなくなり、あらためて購入しようとするとカートが出てきて購入できることを確認しました。
お手数をおかけしました。今回、お問い合わせのあったお客さまにも、さっそく連絡しました。
ありがとうございました。
今後とも、どうぞよろしくお願いいたします。
-
投稿者投稿
- このトピックに返信するにはログインが必要です。