WooCommerce – $product オブジェクトから製品 ID、SKU、価格を取得する方法は?
公開: 2022-09-15プロダクト ID を取得するにはどうすればよいですか? 製品の SKU を取得するにはどうすればよいですか? または、製品価格、在庫、販売価格、通常価格、配送クラス、税クラス、画像、寸法、属性、カテゴリなどを取得する方法は?
あなたが技術者なら、「$product オブジェクト/変数がある場合、____ を取得するにはどうすればよいですか?」と表現します。
注文に含まれていた商品の取得、高度な商品フィルターの適用、価格と説明の編集など、さまざまな店舗運営を行うには商品の詳細が必要です。
この記事では、WooCommerce で ID ごと、製品ごと、価格ごと、製品、およびその他の詳細を取得して、在庫管理タスクをチェックするために使用できるコードをいくつか示します。
また、すべての製品の詳細、注文、クーポン、WordPress のカスタム投稿タイプを 1 か所から取得して管理し、店舗の生産性を 10 倍向上させる方法についても説明します。
それでは始めましょう。
コードを介して $product オブジェクトから製品情報を取得する
$product オブジェクトに常にアクセスできるとは限りません (たとえば、WooCommerce フックについて話しています)。 ケースを理解し、その $product オブジェクトを別の方法で「取得」できるかどうかを確認してください。
この場合、「$product_id から $product オブジェクトを取得する」方法を見つける必要があります。
その他の例として、注文ページやカート ページがあります。 ここでは $product が実際に利用可能ではないため、注文/カート項目をループして「取得」する必要があります。 その後、$product から必要な情報を計算して取得できます。
$product 変数にアクセスできます
フック (do_action および apply_filters) は、関数に渡される追加の引数を使用します。 「$product」オブジェクトの使用が許可されている場合、それはすばらしいことです。 または、関数内で「global $product」を宣言することもできます。
どちらの場合も、すべての製品情報を取得する方法は次のとおりです。
// 商品IDを取得 $product->get_id(); // 製品の一般情報を取得 $product->get_type(); $product->get_name(); $product->get_slug(); $product->get_date_created(); $product->get_date_modified(); $product->get_status(); $product->get_featured(); $product->get_catalog_visibility(); $product->get_description(); $product->get_short_description(); $product->get_sku(); $product->get_menu_order(); $product->get_virtual(); get_permalink( $product->get_id() ); // 商品価格を取得 $product->get_price(); $product->get_regular_price(); $product->get_sale_price(); $product->get_date_on_sale_from(); $product->get_date_on_sale_to(); $product->get_total_sales(); // 商品税、送料、在庫を取得 $product->get_tax_status(); $product->get_tax_class(); $product->get_manage_stock(); $product->get_stock_quantity(); $product->get_stock_status(); $product->get_backorders(); $product->get_sold_individually(); $product->get_purchase_note(); $product->get_shipping_class_id(); // 製品の寸法を取得 $product->get_weight(); $product->get_length(); $product->get_width(); $product->get_height(); $product->get_dimensions(); // リンクされた製品を取得 $product->get_upsell_ids(); $product->get_cross_sell_ids(); $product->get_parent_id(); // 商品のバリエーションと属性を取得 $product->get_children(); // バリエーションを取得 $product->get_attributes(); $product->get_default_attributes(); $product->get_attribute( 'attributeid' ); //特定の属性値を取得 // 商品分類を取得 $product->get_categories(); $product->get_category_ids(); $product->get_tag_ids(); // 製品のダウンロードを取得 $product->get_downloads(); $product->get_download_expiry(); $product->get_downloadable(); $product->get_download_limit(); // 商品画像を取得 $product->get_image_id(); $product->get_image(); $product->get_gallery_image_ids(); // 製品レビューを取得 $product->get_reviews_allowed(); $product->get_rating_counts(); $product->get_average_rating(); $product->get_review_count();
$product_id にアクセスできます
製品 ID にアクセスできる場合 (繰り返しになりますが、通常は do_action または apply_filters によってこれが可能になります)、最初に製品オブジェクトを取得する必要があります。 次に、上記とまったく同じことを行います。
// 商品IDから$productオブジェクトを取得 $product = wc_get_product( $product_id ); // これでアクセスできるようになりました (上記参照)... $product->get_type(); $product->get_name(); //など。 //など。
Order オブジェクトまたは Order ID へのアクセス権がある
注文内の製品情報を取得する方法は? この場合、注文に含まれるすべてのアイテムをループしてから、上記のルールを適用する必要があります。
// $order / $order_id から $product オブジェクトを取得 $order = wc_get_order( $order_id ); $items = $order->get_items(); foreach ( $item as $item ) { $product = $item->get_product(); // これでアクセスできるようになりました (上記参照)... $product->get_type(); $product->get_name(); //など。 //など。 }
また、お読みください – $order オブジェクトから追加情報を取得する方法。
Cart オブジェクトにアクセスできます
カート内の商品情報を取得するには? この場合も、カートにあるすべてのアイテムをループしてから、上記のルールを適用する必要があります。 WooCommerce PHP の知識を広げたい場合は、$cart オブジェクトから追加情報を取得する方法に関する別の記事をご覧ください。
// カート オブジェクトから $product オブジェクトを取得します $cart = WC()->cart->get_cart(); foreach( $cart as $cart_item_key => $cart_item ){ $product = $cart_item['data']; // これでアクセスできるようになりました (上記参照)... $product->get_type(); $product->get_name(); //など。 //など。 }
また、お読みください – $cart オブジェクトから追加情報を取得する方法。
$post オブジェクトにアクセスできます
場合によっては (WordPress 管理者側やバックエンドなど)、$post へのアクセスしか取得できません。 では、$post から $product をどのように「計算」するのでしょうか? 簡単なピージー:
// $post オブジェクトから $product オブジェクトを取得します $product = wc_get_product( $post ); // これでアクセスできるようになりました (上記参照)... $product->get_type(); $product->get_name(); //など。 //など。
すべての製品/在庫を 1 か所で入手するにはどうすればよいですか?
すべての製品情報、在庫、価格、追加の詳細、SKU など、大量の詳細を 1 か所にまとめたい場合はどうすればよいでしょうか?
ビューだけでなく、必要に応じて詳細を編集し、それも一括で編集しますか?
Smart Manager がそれを可能にします。 きちんとしたダッシュボードにすべての製品のデータが表示されます。
注目の画像、通常価格、セール価格、追加情報、SKU、カテゴリ、属性など、すべて Excel のようなスプレッドシートですぐに利用できます。 スプレッドシートを使用して製品を直接管理、編集します。 数分または数秒で数時間のタスク。
シンプルな商品、バリエーションのある商品やバリエーション、アフィリエイト商品など、どれも有効です。
Smart Manager を使用して在庫/在庫をより適切に管理するにはどうすればよいですか?
- 在庫データベースに新製品をいくつでも追加します。
- 各商品の「在庫管理」を有効または無効にします。
- SKU、在庫状況、通常価格、セール価格ごとに管理・編集。
- 商品説明、税ステータスを編集します。
- 各製品の税ステータス、税クラス、配送クラス、特徴画像、製品サムネイルを追加します。 属性を追加し、カテゴリと商品ステータスを編集します。
- すべてまたは選択した在庫のセール価格を X% または通常価格の金額で増減
- 在庫状況や在庫などを一括編集
- 一括編集を使用して、商品の通常価格に基づいてセール価格を設定します。
- 一括編集を使用して、追加、前置、増加、減少、設定、コピー元などの操作を実行します。
- 一括編集を使用して、一度に何百もの商品に属性を追加します
- リアルタイムの在庫更新 - 販売が行われると、在庫数が自動的に更新されます。
- バックオーダーの管理
- 在庫状況、SKU、価格などに基づいて在庫をフィルタリングします。OR、AND、または両方の条件の組み合わせを適用して、何千ものアイテムの中から目的の結果を取得します。
- 定義済みのカスタム ビューを取得します。 必要な在庫関連のデータ列のみを表示し、他のすべての列を非表示にして、在庫または在庫関連の指標のみに注目します。 また、エクスポートを行う前に、名前、SKU、価格などで製品を並べ替えます。
- 必要な在庫データのみを CSV としてエクスポートします。 名前と在庫数のように。 これらは、あなたのショップや倉庫の人々に、どの製品が迅速な補充を必要としているか、どの製品在庫の動きが遅いかなどを知らせます.
- フィルターと一括編集を使用して、個々の在庫を削除します。 すべての製品を安全に削除する方法については、こちらをご覧ください。
- カスタム プラグインによって追加されたストック フィールドを管理する
Smart Manager は、これらの主要な WooCommerce プラグイン (WooCommerce サブスクリプション、予約、メンバーシップ、製品アドオン、商品のコスト) と互換性があります。
これらのプラグインによって追加されたすべての在庫および製品フィールドを簡単に管理できます。
そんな手軽さで、Smart Manager は最高の WooCommerce 在庫管理プラグインだと思いませんか?
Smart Manager のライブ デモを試す
結論
コーディングが好きで、フックやフィルターに精通している場合は、必要に応じてコーディング アプローチを使用して製品情報を取得できます。
1 つの場所から何百、何千もの製品を表示および管理する。 Smart Manager プラグインを使用して、一括編集、エクスポート、削除、複製、およびその他のストア操作をすばやく実行します。 購入を後悔することはありません。