web-dev-qa-db-ja.com

Woocommerce:バリエーションを変更するとデフォルト値が選択されますか?

私の site iでは、バリエーションが異なるときに現れるセレクターのデフォルト値を変更したい。誰が私にこれがどのようにそしてどこで行われているかの手がかりを与えることができるならば、それは大歓迎です!

1
McKeene

私と同じように、すべての製品を調べて管理者からデフォルトを選択することなくデフォルトのバリエーションオプションを選択したい場合は、variable.phpにあるwoocommerce/templates/single-product/add-to-cart/variable.phpファイルを変更する必要があります(WooCommerceプラグインファイルは変更しないでください) - ベストプラクティスに従って、テーマディレクトリにコピーしてください。

ここで重要なのは、35行目の最後のelse条件です。これにより、デフォルトの変動値がどうなるかが決まります。単に変更する:

$selected_value = '';

...に...

$selected_value = $options[0];

これはデフォルト値をバックエンドで定義された製品バリエーションの配列の最初の項目になるように設定します。そうすれば、あなたのカートに追加ボタンは常にデフォルトで表示され、ユーザーは望むなら別のバリエーションを選択することができます。

なぜこれがWooCommerceのコアではないのか私にはわかりません。

この方法でも、管理者はWPAdminから特定のデフォルトのバリエーション値を設定できます。これは上記のコードを使用して設定されたデフォルトを上書きします)

3
getdave

変動商品の商品編集ページで、[バリエーション]タブをクリックします。色のバリエーションを設定したら、一番下に「デフォルトの選択」を設定できます。 http://cld.wthms.co/7LIv

これは、顧客がそのページにアクセスしたときに選択されるデフォルトのオプションになります(在庫がある場合)。例: http://cld.wthms.co/YQFO

2
Daniel Espinoza

私はそれがこの時点で少し遅れていることを知っていますが、念のために他の誰かがこの問題にぶつかった場合。これにより、デフォルト値のテキストを変更できるようになります。

これをコピーしてthemes functions.phpファイルに貼り付けてください。それはそれをするための最善の方法ではないかもしれませんが、それは私にとってはうまくいった。

/* Change Woocommerce Default Value Text */
add_filter('gettext',  'choose_option');
add_filter('ngettext',  'choose_option');

function choose_option($translated) {
     $translated = str_ireplace('Choose an option',  'Select Size',  $translated);
     return $translated;
}

注: これにより、サイト全体でデフォルト値のテキストが変更されます。頭が上がるだけ!

0
Plugin Drawer