Woocommerce 通过 sku 获取并显示产品 ID
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');
我正在尝试找到一种从当前产品 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');