私はWoocommerceの変動商品のデフォルト属性を一括削除または消去する予定です。
この値をマスクリアする簡単な方法はありますか?そうでない場合は、phpMyAdminのどこでこの値を見つけることができるかを教えてもらえますか。
次のコードでデフォルト属性を変更できます。このコードは商品の完全なリストを取得し、それが大量のリソースを使うことができます
$products = wc_get_products([
"nopaging" => TRUE, // retrieve all products
]);
foreach ($products as $p) {
$default_attributes = $p->get_default_attributes();
if ( (!empty($default_attributes))
&& FALSE // other condition to select of which product the default attributes is reset
) {
$p->set_default_attributes("");
}
}
WooCommerceの可変商品のデフォルト属性は、ポストメタとしてデータベースに保存されます。これらはwp_postmeta
テーブルにあります。ここで、post_id
列は親商品(変数product)の投稿ID、meta_key
列は_default_attributes
です。
空でないすべての配列を置き換えることによって、すべての製品のデフォルト属性を消去および削除できます。
これを行うには、phpMyAdminを開き、左パネルからあなたのWordPressインストールのデータベースを選択して、SQLタブをクリックしてください。次に、以下のSQLコマンドを書いてGoを押します。
PhpMyAdminでコマンドを実行する前にデータベースをバックアップすることを忘れないでください
UPDATE `wp_postmeta` SET `meta_value`= 'a:0:{}' WHERE meta_key = '_default_attributes'