使用短代码[add_to_cart_url sku="#"]
将生成一个链接,只有产品有变化时才会将购物者带到单个产品页面。
如果我想要一个简单的产品(没有变化的产品)链接到其单个产品页面而不是将其添加到购物车,该怎么办?
IMO,这似乎被WooCommerce团队所忽视。
我想要的只是基于其SKU生成的项目单个产品页面的链接。像实施[product_url sku="#"]
这样简单的事情会很棒。
否则,搜索谷歌没有成功。
答案 0 :(得分:1)
这是你想要的吗?
下面的代码仅用于产品网址的短代码,您可以使用以下代码:
[product_url sku="SKUofProduct"]
或身份[product_url id="productID"]
add_shortcode( 'product_url', 'rohils_product_url_function' );
function rohils_product_url_function($atts){
global $wpdb;
if ( empty( $atts ) ) {
return '';
}
if ( isset( $atts['id'] ) ) {
$product_data = get_post( $atts['id'] );
} elseif ( isset( $atts['sku'] ) ) {
$product_id = wc_get_product_id_by_sku( $atts['sku'] );
$product_data = get_post( $product_id );
} else {
return '';
}
if ( 'product' !== $product_data->post_type ) {
return '';
}
$_product = wc_get_product( $product_data );
return esc_url( get_post_permalink($_product->id) );
}