繁体   English   中英

简码 - 在 Wocomerce 中按产品 SKU 显示产品价格

[英]Shortcode - Display product price by product SKU in Woocomerce

我需要通过使用 sku 来显示给定产品的价格,尝试使用我找到的几个短代码但运气不佳 - 想在将产品的 sku 输入短代码后查看页面上的价格,像这样 [ woocommerce_price sku="sku123"] [woocommerce_price sku="sku345"]

任何人都可以建议如何实现这一目标?

有关我尝试但不起作用的示例代码,请参见此处

    extract( shortcode_atts( array(
        'sku' => null,
    ), $atts, 'woocommerce_price' ) );
    
    if( intval( $sku ) > 0 && function_exists( 'wc_get_product' ) ){
          $product = wc_get_product_id_by_sku( $sku );
          
          if ( $product->get_price() > 0 ) {
              return $product->get_price_html();
          } else {
              return __( "Price unavailable", "woocommerce" );
          }
     }
}
add_shortcode( 'woocommerce_price', 'wc_price_shortcode_callback' );``` 

您可以使用此 function 并获取价格

 function get_product_by_sku( $sku ) { global $wpdb; $product_id = $wpdb->get_var( $wpdb->prepare( "SELECT post_id FROM $wpdb->postmeta WHERE meta_key='_sku' AND meta_value='%s' LIMIT 1", $sku ) ); if ( $product_id ) return new WC_Product( $product_id ); return null;} $product = get_product_by_sku( $sku); $product->get_regular_price(); $product->get_sale_price(); $product->get_price();

这应该是您提取后的内部简码。

if( !is_null($sku) && function_exists( 'wc_get_product' ) ){
      $product_id = wc_get_product_id_by_sku( $sku );

      $product = wc_get_product($product_id); //get the product object from id here.
      
      if ( $product->get_price() > 0 ) {
          return $product->get_price_html();
      } else {
          return __( "Price unavailable", "woocommerce" );
      }
 }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM