获取具有特定 meta_key 且 meta_value 在 WooCommerce 中相等的所有产品
Get all products with specific meta_key whose meta_value is equal in WooCommerce
在单个产品页面中,我想在自定义字段 (base_number) 中显示具有相同值的所有产品的库存数量,我认为这可以通过获取这些产品的 ID 来实现.
我试过什么都没有运气
$product = wc_get_product( $product_id );
$same_base = get_posts( array(
'post_type' => 'product',
'post_status' => 'publish',
'meta_key' => 'base_number',
'meta_value' => get_post_meta(get_the_ID(), 'base_number', TRUE),
'fields' => 'ids',
));
return $same_base;
如有任何帮助,我们将不胜感激。
使用它来获取 meta_key
= base_number
的所有产品
// Get WC_Product Objects
$products = wc_get_products( array(
'limit' => -1,
'status' => 'publish',
'meta_key' => 'base_number',
));
// Loop through
foreach( $products as $product ) {
// Get product ID
$product_id = $product->get_id();
echo '<p>Product ID: ' . $product_id . '</p>';
// Get stock quantity
$stock_quantity = $product->get_stock_quantity();
echo '<p>Stock quantity: ' . $stock_quantity . '</p>';
}
使用它来获取 meta_key
= base_number
的所有产品,假设 meta_value
= 30
// Get WC_Product Objects
$products = wc_get_products( array(
'limit' => -1,
'status' => 'publish',
'meta_key' => 'base_number',
'meta_value' => 30
));
// Loop through
foreach( $products as $product ) {
// Get product ID
$product_id = $product->get_id();
echo '<p>Product ID: ' . $product_id . '</p>';
// Get stock quantity
$stock_quantity = $product->get_stock_quantity();
echo '<p>Stock quantity: ' . $stock_quantity . '</p>';
}
使用它来获取所有产品 ID,其中 meta_key
= base_number
和 meta_value
= $some_variable
// Some variable
$some_variable = 25;
// Get product ID's
$product_ids = wc_get_products( array(
'limit' => -1,
'status' => 'publish',
'meta_key' => 'base_number',
'meta_value' => $some_variable,
'return' => 'ids'
));
// Loop through
foreach( $product_ids as $product_id ) {
echo '<p>Product ID: ' . $product_id . '</p>';
}
要获取您当前正在查看的产品的 base_number
,请使用
// Get the global product object
global $product;
// Is a WC product
if ( is_a( $product, 'WC_Product' ) ) {
// Get meta
$base_number = $product->get_meta( 'base_number' );
// NOT empty
if ( ! empty ( $base_number ) ) {
echo '<p>Base number: ' . $base_number . '</p>';
}
}
在单个产品页面中,我想在自定义字段 (base_number) 中显示具有相同值的所有产品的库存数量,我认为这可以通过获取这些产品的 ID 来实现.
我试过什么都没有运气
$product = wc_get_product( $product_id );
$same_base = get_posts( array(
'post_type' => 'product',
'post_status' => 'publish',
'meta_key' => 'base_number',
'meta_value' => get_post_meta(get_the_ID(), 'base_number', TRUE),
'fields' => 'ids',
));
return $same_base;
如有任何帮助,我们将不胜感激。
使用它来获取 meta_key
= base_number
// Get WC_Product Objects
$products = wc_get_products( array(
'limit' => -1,
'status' => 'publish',
'meta_key' => 'base_number',
));
// Loop through
foreach( $products as $product ) {
// Get product ID
$product_id = $product->get_id();
echo '<p>Product ID: ' . $product_id . '</p>';
// Get stock quantity
$stock_quantity = $product->get_stock_quantity();
echo '<p>Stock quantity: ' . $stock_quantity . '</p>';
}
使用它来获取 meta_key
= base_number
的所有产品,假设 meta_value
= 30
// Get WC_Product Objects
$products = wc_get_products( array(
'limit' => -1,
'status' => 'publish',
'meta_key' => 'base_number',
'meta_value' => 30
));
// Loop through
foreach( $products as $product ) {
// Get product ID
$product_id = $product->get_id();
echo '<p>Product ID: ' . $product_id . '</p>';
// Get stock quantity
$stock_quantity = $product->get_stock_quantity();
echo '<p>Stock quantity: ' . $stock_quantity . '</p>';
}
使用它来获取所有产品 ID,其中 meta_key
= base_number
和 meta_value
= $some_variable
// Some variable
$some_variable = 25;
// Get product ID's
$product_ids = wc_get_products( array(
'limit' => -1,
'status' => 'publish',
'meta_key' => 'base_number',
'meta_value' => $some_variable,
'return' => 'ids'
));
// Loop through
foreach( $product_ids as $product_id ) {
echo '<p>Product ID: ' . $product_id . '</p>';
}
要获取您当前正在查看的产品的 base_number
,请使用
// Get the global product object
global $product;
// Is a WC product
if ( is_a( $product, 'WC_Product' ) ) {
// Get meta
$base_number = $product->get_meta( 'base_number' );
// NOT empty
if ( ! empty ( $base_number ) ) {
echo '<p>Base number: ' . $base_number . '</p>';
}
}