Woocommerce产品链接网址为简单的产品

时间:2015-05-29 21:44:12

标签: wordpress woocommerce shortcode

使用短代码[add_to_cart_url sku="#"]将生成一个链接,只有产品有变化时才会将购物者带到单个产品页面。

如果我想要一个简单的产品(没有变化的产品)链接到其单个产品页面而不是将其添加到购物车,该怎么办?

IMO,这似乎被WooCommerce团队所忽视。

我想要的只是基于其SKU生成的项目单个产品页面的链接。像实施[product_url sku="#"]这样简单的事情会很棒。

否则,搜索谷歌没有成功。

1 个答案:

答案 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) );
}