How to display Woocommerce product price by ID number on a custom page?

后端 未结 2 506
攒了一身酷
攒了一身酷 2020-12-07 16:58

I\'m trying to display a price of a product in Woocommerce, on a custom page. There is a short code for that, but it gives product price and also adds an \"Add to cart butto

2条回答
  •  有刺的猬
    2020-12-07 17:18

    If you have the product's ID you can use that to create a product object:

    $_product = wc_get_product( $product_id );
    

    Then from the object you can run any of WooCommerce's product methods.

    $_product->get_regular_price();
    $_product->get_sale_price();
    $_product->get_price();
    

    Update
    Please review the Codex article on how to write your own shortcode.

    Integrating the WooCommerce product data might look something like this:

    function so_30165014_price_shortcode_callback( $atts ) {
        $atts = shortcode_atts( array(
            'id' => null,
        ), $atts, 'bartag' );
    
        $html = '';
    
        if( intval( $atts['id'] ) > 0 && function_exists( 'wc_get_product' ) ){
             $_product = wc_get_product( $atts['id'] );
             $html = "price = " . $_product->get_price();
        }
        return $html;
    }
    add_shortcode( 'woocommerce_price', 'so_30165014_price_shortcode_callback' );
    

    Your shortcode would then look like [woocommerce_price id="99"]

提交回复
热议问题