Konoha
動作の不具合の検証には環境情報が必要です。投稿の際は下記の情報をお書き添えください。
-------------------------------------------
WordPress のバージョン:(例 5.6)
Welcart のバージョン:(例 2.1.1)
PHP のバージョン:(例 7.4)
Welcart専用の拡張プラグインとバージョン:(例 DL Seller 3.0.8、SKU Select 1.1.4)
ご利用のテーマ:(例 WelcartBasic の自作子テーマ)
症状を確認したブラウザ:
サーバー【重要】:(会社名、サービス名)
--------------------------------------------
フォーラムへの返信
-
投稿者投稿
-
Konoha
参加者yskysmrさま
お世話になっております。
早々のご連絡ありがとうございます♪
Paypal CP対応、とても助かります。いつもありがとうございます♪
感謝
Konoha
参加者クライアントのPaypal本人確認(書類審査)が未完了だったようです…
おそらくそれが原因ですね。お騒がせしまして申し訳ございません…
Konoha
参加者追記です
以下、サーバーのエラーログの一部になります。
[proxy_fcgi:error] [pid 14701:tid 140256246286080] [client 157.107.118.201:40602] AH01071: Got error 'PHP message: PHP Fatal error: Uncaught Error: Cannot use object of type stdClass as array in /home/***/***.com/public_html/wp-content/plugins/usc-e-shop/classes/paymentPayPalCP.class.php:1907\nStack trace:\n#0 /home/***/***.com/public_html/wp-content/plugins/usc-e-shop/classes/paymentPayPalCP.class.php(1540): PAYPAL_CP_SETTLEMENT->api_create_order(Array, 'CAPTURE', '3600790988', Array, Array, false)\n#1 /home/***/***.com/public_html/wp-includes/class-wp-hook.php(287): PAYPAL_CP_SETTLEMENT->create_order('')\n#2 /home/***/***.com/public_html/wp-includes/class-wp-hook.php(311): WP_Hook->apply_filters('', Array)\n#3 /home/***/***.com/public_html/wp-includes/plugin.php(484): WP_Hook->do_action(Array)\n#4 /home/***/***.com/public_html/wp-admin/admin-ajax.php(184): do_action('wp_ajax_create_...')\n#5 {main}\n thrown in /home/***/***.com/public_html/wp-content/plugins/usc-e-shop/classes/paymentPayPalCP.class.php on line 1907', referer: https://***.com/usces-cart/
-
この返信は1ヶ月前に
Konohaが編集しました。
Konoha
参加者横からすみません。
それはWelcart1.9.31で起こる既知の不具合です。
確か、WordpressのjQueryのバージョン変更に伴う不具合だったような…
1.9.32以降で修正されています。※Welcart 1.9.32の情報
https://www.welcart.com/archives/12260.htmlKonoha
参加者maiさま
お問い合わせのご報告ありがとうございます。
Xserver側では「影響は出にくい」というニュアンスが伺えますが、
私の経験上、Xアクセラレーターが設定されてから、
クライアントから商品の重複購入についての報告を多数うけました。そのため、キャッシュされては困る、またはインデックスされても困る、
というページには、なるべくno-cache設定をするようにしています。その後はほとんど同様の報告がなくなったため、
そのまま様子を見ている、という感じです。このフォーラム内でも重複購入についてのご意見を色々拝見していますが、
解決策のひとつになればと思っております。
(100%の解決ではなく、外部リンク型のクレジット決済などでは、どうしても重複してしまいますが…)以上、ご参考いただけましたら幸いです。
※追伸
HTML4の場合には、expiresを入れたほうがいいですね。
<meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="Cache-Control" content="no-cache"> <meta http-equiv="Expires" content="0">
ちなみに
<meta name="robots" content="noindex,nofollow,noarchive,noodp,noydir" />
これはページをインデックスさせたくない場合の表記です(HTML4・5共通)
失礼致しました。
Konoha
参加者maiさま
上記はご指摘のとおりhtml5では効かないかもしれません。(expiresが抜けてましたが…)
phpならご察しの通り、
header('Cache-Control:no-cache,no-store,must-revalidate,max-age=0'); header('Pragma:no-cache'); header('Expires: Tue, 1 Jan 2019 00:00:00 GMT'); header('Last-Modified:' . gmdate( 'D, d M Y H:i:s' ) . 'GMT'); header('Cache-Control:pre-check=0,post-check=0',false);
こんな感じのをusces-cartやusces-memberに指定するといいかもしれませんね。
Xserverから回答頂けるといいですね♪
Konoha
参加者こんにちわ。
Xアクセラレータ Ver.2が出来てから、色々ありましたが、
私は現在このように設定しています。<?php if(is_page('usces-cart') || is_page('usces-member')){ ?> <meta name="robots" content="noindex,nofollow,noarchive,noodp,noydir" /> <meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="Cache-Control" content="no-cache"> <?php } ?>
カートページとメンバーページではキャッシュもインデックスもしない設定にしています。
今のところ、私の環境では問題はでていません。ご参考程度に。
Konoha
参加者sagawaさま
ありがとうございます。
とても助かります。よろしくお願いいたします。
Konoha
参加者sagawaさま
そうだったのですね。
ありがとうございます。
Konoha
参加者確かにリカバリーモードで、
最新バージョンにすればエラーは出なくなりますね!Konoha
参加者Welcartのアップデートがうまく取得できないようです。
https://endpoint.welcart.org
そのURLが正常にアクセスできない、という情報もありますので、
それも影響していると思います。早急に復旧したい場合には
wp-content/plugins/usc-e-shop/includes/update_check.php
44行目あたりをみて$response = wp_remote_post( USCES_UPDATE_INFO_URL.'/update_info/info_api.php', $options ); $wcproducts = (array)json_decode($response['body']);
の部分を以下に
$response = wp_remote_post( USCES_UPDATE_INFO_URL.'/update_info/info_api.php', $options ); if(!is_array($response)){ return; } $wcproducts = (array)json_decode($response['body']);
したらどうかしら?
Konoha
参加者maiさま
なるほど…商品データのカスタムフィールドではなく、
投稿・固定ページのカスタムフィールドを取得したい、
ということですか。usces_assistance_item()の中で、$postを商品データに書き換えてしまっているので、
$post->IDは当然ながら商品ですものね。ぱっと思いつくのは、
usces_filter_assistance_item_listフック内で、$queried_object= get_queried_object(); if(get_post_meta($queried_object->ID,'test_text',true)): echo 'test'; endif;
とかかしら?
また意図が違っていたらすみません。
Konoha
参加者maiさま
たとえば
$item_name = get_post_meta($post->ID, '_itemName', true); //商品名
は取得できて
$test_text = get_post_meta($post->ID, 'test_text', true); //独自
は取得できないのですよね?
もしかしたら
そのカスタムフィールドのキー名が違っているのではないかしら?Smart Custom Fieldsを使用とのことですが、
フィールド設定でのキー名(名前)にスペースが入ってしまっているとか…
「繰り返し」の設定をしているとか…私も同様にSCFを使用しているので、
add_filter('usces_filter_assistance_item_list', 'my_format_assistance_item_list',10,2); function my_format_assistance_item_list($list, $post) { if(get_post_meta($post->ID,'test_text',true)): echo 'test'; endif; return $list; }
で確認しましたが、特に問題なく表示されました。
Konoha
参加者横から失礼します。
ちょっと思ったのですが…
usces_filter_assistance_item_listのフックは、
echo apply_filters('usces_filter_assistance_item_list', $list, $post);
htmlのデータを変数(デフォルトでは$list)で返して、そのまま$listをechoしてますよね。
$strで新しくhtmlを作り直しているのでしたら、
一般的には$str = '<li>'; if(get_post_meta($post->ID, 'test_text', true)): $str .= 'test'; endif; $str .= '</li>'; //~省略 return $str; //最後にデータを戻す
というように、カスタムフィールドのデータを変数に入れる記述になるのではないでしょうか?
htmlを変数に格納して返しているので、その場でechoは…と思ったのですが…検討違いでしたらすみません。
-
この返信は4ヶ月、 3週前に
Konohaが編集しました。
Konoha
参加者emuninim22様
そうでしたか…
お役に立てず申し訳ございません。wordpress.comのサイトをみると、
プラグインのインストールはビジネス・eコマースプランでのみ出来るようですが…https://ja.wordpress.com/pricing/
そのあたりは問題ないですよね。
あとは、現在インストールしている他のプラグインを一つずつ無効しながら確認してみるとか…
ご参考までに。
-
この返信は1ヶ月前に
-
投稿者投稿