[英]Woocommerce get and display product id by sku
我正在嘗試找到一種從當前產品SKU中獲取產品ID並通過簡碼顯示它的方法。 到目前為止,我來了,但是由於某種原因,我正在使用的這段代碼沒有獲得正確的ID,並且我無法弄清楚為什么,因為我在php中不太好。
解決:
function get_product_id_by_sku_fc( $atts ){
global $product;
$atts = shortcode_atts( array(
'sku' => '',
), $atts );
$product_id = null;
// get product ID out of the defined SKU in the shortcode [get_product_id_by_sku sku="SKU"]
if (!empty( $atts['sku'] ) ) {
$product_id = wc_get_product_id_by_sku( $atts['sku'] );
$product = wc_get_product( $product_id );
} else {
//get product ID out of the current_product sku, shortcode [get_product_id_by_sku]
$sku = $product->get_sku();
$product_id = wc_get_product_id_by_sku( $sku );
$product = wc_get_product( $product_id );
}
return $product_id;
}
add_shortcode( 'get_product_id_by_sku', 'get_product_id_by_sku_fc');
謝謝大家的幫助!
PS:如果您與該功能有沖突,則只需自定義功能名稱和簡碼名稱即可。
您需要先定義$ sku才能使用它。 假設您的簡碼看起來像這樣:
[getpid sku="product-1"]
您應該這樣做:
function getproductbysku( $atts ){
$product_id = null; //or whatever you want to default to.
if(!empty($atts['sku'])){
$product_id = wc_get_product_id_by_sku( $atts['sku'] );
}
return $product_id;
}
add_shortcode( 'getpid', 'getproductbysku');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.