簡體   English   中英

從具有特定元數據的類別中獲取所有 WooCommerce 產品

[英]Get all WooCommerce products from a category that have specific meta data

我的自定義帖子類型有一個自定義元數據:

$arr = array('foo' => 'yes',
             'featured_enabled' => 123,
             'something' => 'abc',
);

update_post_meta($post_id, 'fvp_featured_meta', $arr );

我的問題是如何從 woocommerce 中的特定類別 ID 中獲取具有此元數據 (fvp_featured_meta) 的所有產品? (並非所有帖子都有這個元)

您可以嘗試使用wc_get_products()函數來獲取具有屬於特定產品類別的特定元數據的產品,如下所示:

$category_term_slugs = array('clothing'); // <== Define your product category

// Get an array of WC_Product Objects
$products = wc_get_products( array(
    'limit'         => -1,
    'status'        => 'publish',
    'meta_key'      => 'fvp_featured_meta',
    'meta_compare'  => 'EXISTS',
    'category'      => $category_term_slugs,
) );

echo '<ul>';

// Loop Through products array
foreach( $products as $product ) {
    $product_name = $product->get_name();
    $meta_array   = $product->get_meta('fvp_featured_meta'); // Get meta data (array)
    $meta_output  = []; // Initializing

    if( ! empty( $meta_array ) ) {
        // Loop through custom field array key/value pairs
        foreach( $meta_array as $key => $value ) {
            $meta_output[] = $key . ': ' . $value;
        }
        $meta_output = ' | ' . implode(' | ', $meta_output);
    }
    
    echo '<li>' . $product_name . $meta_output . '</li>';
}

echo '</ul>';

它應該有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM