Mizuho Ogino

投稿の際は下記の情報をお書き添えください。
-------------------------------------------
WordPress のバージョン:(例 6.0.2)
Welcart のバージョン:(例 2.8.1)
PHP のバージョン:(例 8.0)
Welcart専用の拡張プラグインとバージョン:(例 DL Seller 3.4.1、SKU Select 1.4.2)
ご利用の親テーマとバージョン :(例 Welcart Basic 1.7.1)
ご利用の子テーマとバージョン :(例 Welcart Beldad 1.4)
症状を確認したブラウザ:
サーバー【重要】:(会社名、サービス名)
--------------------------------------------

フォーラムへの返信

15件の投稿を表示中 - 1 - 15件目 (全22件中)
  • 投稿者
    投稿
  • 返信先: Auto Delivery使用時の配送希望日について #86134
    Mizuho Ogino
    参加者

    いつも丁寧なご対応ありがとうございます。
    オフにすると定期商品の配送希望日も計算されないものと、勘違いしておりました。

    >ただ、こちらの説明書きにもありますとおり、「利用しない」を選択していても、定期購入商品が購入された場合は、次回配送日等の関係により、必ず「配送希望日」は算出されます。

    遅まきながら仰せの文意を得ました。いらぬ手間を取らせてしまい申し訳ありませんでした。

    返信先: Image uploaderが動作しません #86119
    Mizuho Ogino
    参加者

    hiroshi1950さんとnatsworksさんの症状はそれぞれ異なるようです。
    hiroshi1950さんの問題は、プラグイン自体の有効化ができていない、またはjsが動いていないように思われます。natsworksさんの方はその他のプラグイン等によるリネーム機能とのコンフリクトの可能性が高そうです。

    image uploader はwelcartの公式プラグインではないので、私のウェブサイトで対応・更新の報告を行っておりますので、これ以上は、こちらでは対応致しかねます。以下でお願いいたします。

    https://web.contempo.jp/weblog/tips/p636

    返信先: Auto Delivery使用時の配送希望日について #86118
    Mizuho Ogino
    参加者

    「配送希望日の自動計算」をオフにすると、問題は解消するのですが、定期購入以外の商品のみを購入するときにも上記の問題が発生するため、ご連絡した次第でした。
    つまり、定期購入の商品は「自動計算」をONにしたいが、定期購入以外の商品では自動計算して欲しくない、という要望でした。
    説明不足で申し訳ありません。

    可能であれば、ご検討いただけましたら、幸いです。

    Mizuho Ogino
    参加者

    横から失礼します。
    画像アドレスらして、jetpackのphotonをお使いなのではないでしょうか。photonはキャッシュ削除の機能がありませんので、差し替えたい場合、異なるファイル名のものをアップしなくてはなりません。welcartの使い方にもよりますが、画像を差し替えるなどの用途との併用には向いていないプラグインだと思います。

    返信先: Welcart 1.8のメニューID #78140
    Mizuho Ogino
    参加者

    意図の分かりにくい質問で失礼いたしました。

    >同じポジションのプラグインが存在すると、WPがIDを変更してしまう

    どうやらそうみたいですね。
    ユニークIDにしていただくと、私の様な者にはとても嬉しいです。カスタマイズするユーザーの勝手にもかかわらず、迅速にご対応いただきありがとうございました!!

    返信先: Welcart 1.8のメニューID #78079
    Mizuho Ogino
    参加者

    4.5による使用変更なのですね。
    メニューの名称を使用者にわかりやすく変更しているケースがありまして、質問させていただきました。これを機に、管理テーマを変更しておこうと思います。

    ありがとうございました。

    Mizuho Ogino
    参加者

    usceshop.class.php内にisNumという関数がセットされていますが、旧バージョンはでnum = num + ”;の表記がありませんでした。おそらく数量をチェックしている箇所の !(uscesCart.isNum(quant))で0扱いされてスルーされていたのではないかと推測しています。試しに、各input[name*=’quant’]セレクタをinput抜きの[name*=’quant’]に変更する、またはisNum内のnum = num + ”;の表記を削除すると、エラーは起きませんでした。いずれにせよ本来意図した動作ではないでしょうが、セレクトボックスには数値しか入らないはずなので・・・^^;

    現状テストサイトではセレクトボックスを用いていないので、該当するのは既存のサイトしかありません。ご確認いただけるようにレスキューナビからURLを送ります。

    ちなみに該当箇所の出力後のhtmlは以下のようになっています。1.4シリーズでは動作していました。

    <td class="quantity"><select name="quant[0][9999][WELCARTPRO]" class="quantity"><option value="1" >1</option><option value="2" selected>2</option></select><label class="delButtonLabel" for="delButton0"><input name="delButton[0][9999][WELCARTPRO]" class="delButton" id="delButton0" type="submit" value="削除" /></label></td>

    返信先: 配送方法が1択の場合非表示にしたい #76126
    Mizuho Ogino
    参加者

    すいません。書き損じがありました。修正。

    add_action('usces_item_master_second_section', 'my_usces_item_master_second_section', 10, 2);
    function my_usces_item_master_second_section( $second_section, $post_id ){
    $second_section .= 
    '<script type="text/javascript" charset="utf-8">
      var dmet = jQuery( "#meta_box_product_second_box" ).find( "input[id^=itemDeliveryMethod]" );
      var dmet_checked = false;
      dmet.each(function(){ if ( jQuery(this).is(":checked") ) dmet_checked = true; });
      if ( !dmet_checked ) dmet.first().prop({ "checked":"checked" }).change(); // 一つもチェックがない場合は最初のものにチェックを入れる
      if ( dmet.length === 1 ) dmet.first().parents( "tr.shipped" ).hide(); // inputが一つしかない場合は列を隠す
    </script>';
    return $second_section; 
    }
    返信先: 配送方法が1択の場合非表示にしたい #76112
    Mizuho Ogino
    参加者

    私もデフォルトで一つ目のものにチェックを入れられるように配送テーブルの直下にjsを書き出して処理しています。それに一行加えたものが以下のとおりです。functions.phpなどに記入すれば反映されると思います。

    add_action('usces_item_master_second_section', 'my_usces_item_master_second_section', 10, 2);
    function my_usces_item_master_second_section( $second_section, $post_id ){
    $second_section .= 
    '<script type="text/javascript" charset="utf-8">
      var dmet = jQuery( "#meta_box_product_second_box" ).find( "input[id^=itemDeliveryMethod]" );
      var dmet_checked = false;
      dmethods.each(function(){ if ( jQuery(this).is(":checked") ) dmet_checked = true; });
      if ( !dmet_checked ) dmethods.first().prop({ "checked":"checked" }).change(); // 一つもチェックがない場合は最初のものにチェックを入れる
      if ( dmethods.length === 1 ) dmethods.first().parents( "tr.shipped" ).hide(); // inputが一つしかない場合は列を隠す
    </script>';
    return $second_section; 
    }
    返信先: 商品のパーマリンク設定について #75482
    Mizuho Ogino
    参加者

    >yousanさん
    解決されたようで何よりです。いろいろいい加減な記憶と未検証の意見を勢いで書いてしまい申し訳有りません。一助になったならば幸いです。

    >kitamuuuさん
    都度チェックしていただきありがとうございます^^;
    言葉の綾というか、私の表現がまずかったですね。postと他のカスタム投稿とは原則posttype名で区分されているだけですので、おそらく通常の使用では問題は起きにくいと思ってます。変更してるのはrewriteの項目だけですしね。いずれにせよ、アップデート時にチェックする要素を増やすことには間違いないので、ウェブショップのような環境下では一層慎重になるべきかな、と私も思います。

    >nanbuさん
    post_type_linkは出力されるリンクしか変更してくれないので、register_post_typeのrewriteで予め同じパーマリンクを設定していないと404になります。この場合、post_mime_typeがitemのものは表示されるが、それ以外の投稿は404になると思われます。itemとpostのパーマリンクを区別する方法は考えてみたのですが、現状思いつきません。

    返信先: 商品のパーマリンク設定について #75429
    Mizuho Ogino
    参加者

    「Custom Post Type Permalinks」ダメでしたか^^;
    記憶違いですね、失礼いたしました。

    残った手としては、投稿タイプ「post」をカスタム投稿タイプとして再度レジストしてrewrite設定をするという手があります。「register_post_type」をfunctions.phpに追加します。

    add_action( 'init', 'my_new_default_post_type', 1 );
    function my_new_default_post_type() {
        register_post_type( 'post', array(
            'labels' => array(
                'name_admin_bar' => _x( 'Post', 'add new on admin bar' ),
            ),
            'public'  => true,
            '_builtin' => false, 
            '_edit_link' => 'post.php?post=%d', 
            'capability_type' => 'post',
            'map_meta_cap' => true,
            'hierarchical' => false,
            'rewrite' => array( 'slug' => 'myslug' ),
            'query_var' => false,
            'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'trackbacks', 'custom-fields', 'comments', 'revisions', 'post-formats' ),
        ) );
    }

    これで 「example.com/myslug/投稿スラッグ」というパーマリンクになります。しかしカスタム投稿と同じく既存のパーマリンク設定が効かないはず。ですので、上記設定後、改めてregister_post_typeした後で「Custom Post Type Permalinks」をインストールする、という手もあると思います(未検証です)。あと、「post」のパーマリンクだけを変えたいなら、以下をfunctions.phpに記述するだけでいけるのではないかと思います。

    
    add_filter('post_type_link', 'my_new_default_post_type_link', 1, 3);
    function my_new_default_post_type_link( $post_link, $post = 0, $leavename = false ) {
        if ($post->post_type == 'post') return home_url( 'myslug/' . $post->ID );
        else return $post_link;
    }
    
    add_action( 'init', 'my_new_default_rewrites_init' );
    function my_new_default_rewrites_init(){
        add_rewrite_rule( 'myslug/([0-9]+)?$', 'index.php?post_type=post&p=$matches[1]', 'top' );
    }

    以上、welcart込みで検証していませんので、動作は保証し兼ねます^^;

    返信先: 商品のパーマリンク設定について #75421
    Mizuho Ogino
    参加者

    Custom Post Type Permalinksというプラグインをつかって、標準のパーマリンクを[/shop/%post_id%]に設定して、カスタム投稿ごとのパーマリンクを[/%post_id%]に設定すれば、ご希望の表示を実現できるのではないでしょうか。

    返信先: 商品画像の取得の件 #74162
    Mizuho Ogino
    参加者

    itemcodeが取得できているなら、何の動作もない場合、$itemcode.’-4’というタイトルのファイルが存在しないということです。get_page_by_titleの第一因数がタイトルです。したがって、$itemcode-04.jpgならば、以下の通りですね。

    $att = get_page_by_title( $itemcode.'-04', OBJECT, 'attachment');

    もし、商品サブ画像適用ルールがハイフン2つであれば、連番前のハイフンもふたつにします。
    $att = get_page_by_title( $itemcode.'--04', OBJECT, 'attachment');

    あと、ノーイメージが出したかったら以下の様にしてやる必要があります。

    if ( $att ) {
    echo wp_get_attachment_image($att->ID,'thumbnail');
    } else {
    //ここにノーイメージ時の任意の処理を書く
    }
    返信先: 商品画像の取得の件 #74140
    Mizuho Ogino
    参加者

    特定の画像名を取り出すのはwelcartの本来的な使い方ではないので、wordpressの関数群で処理されては如何でしょうか。
    _itemCode–04.jpg であればget_page_by_titleで判定できると思います。

    
    $itemcode = get_post_meta( $post->ID, '_itemCode', true );
    
    $att = get_page_by_title( $itemcode.'-4', OBJECT, 'attachment');
    
    if ( $att ) echo wp_get_attachment_image($att->ID,'thumbnail');
    
    返信先: 独自拡張プラグインの公開について #73253
    Mizuho Ogino
    参加者

    ありがとうございます。
    お言葉に甘えて、何かありましたら、遠慮なく聞かせていただきます。

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