为了账号安全,请及时绑定邮箱和手机立即绑定

电子商务:如何显示可变产品选项下拉列表的 SKU

电子商务:如何显示可变产品选项下拉列表的 SKU

PHP
慕桂英3389331 2022-09-25 20:26:34
如何在可变产品的下拉选项中查看 SKU 代码?我试图使用此代码,但它只是为了在woocommerce中查看价格选项。原因最近我使用其他代码,但 SKU 不是动态的,当我更改和变量选项。add_filter( 'woocommerce_variation_option_name', 'display_price_in_variation_option_name' );function display_price_in_variation_option_name( $term ) {  global $wpdb, $product;  if( isset( $product ) ) {    $result = $wpdb->get_col( "SELECT slug FROM {$wpdb->prefix}terms WHERE name = '$term'" );    $term_slug = ( !empty( $result ) ) ? $result[0] : $term;    $query = sprintf( "SELECT postmeta.post_id AS product_id      FROM {$wpdb->prefix}postmeta postmeta      LEFT JOIN {$wpdb->prefix}posts products ON ( products.id = postmeta.post_id )      WHERE postmeta.meta_key LIKE 'attribute_%%'      AND postmeta.meta_value = '%s'      AND products.post_parent = %d", $term_slug, $product->get_id() );    $variation_id = $wpdb->get_col( $query );    $parent = wp_get_post_parent_id( $variation_id[0] );    if ( $parent > 0 ) {      $_product = new WC_Product_Variation( $variation_id[0] );      $itemPrice = strip_tags (wc_price( $_product->get_price() ));      //this is where you can actually customize how the price is displayed      return $term . ' ('. $itemPrice .')';    }  }}基于此代码,我如何分配 get-sku 并在前端显示的变体选项区域旁边查看。如果有人能帮助我解决问题,我真的知道。
查看完整描述

1 回答

?
阿晨1998

TA贡献2037条经验 获得超6个赞

function display_price_in_variation_option_name( $term ) {

    global $wpdb, $product;


    if( isset( $product ) ) {

        $query = sprintf( "SELECT postmeta.post_id AS product_id

            FROM {$wpdb->prefix}postmeta postmeta

            LEFT JOIN {$wpdb->prefix}posts products ON ( products.id = postmeta.post_id )

            WHERE postmeta.meta_key LIKE 'attribute_%%'

            AND postmeta.meta_value = '%s'

            AND products.post_parent = %d", $term, $product->get_id() );


        $results = $wpdb->get_results( $query );


        foreach ($results as $key => $result) {

            $variation_id = $result->product_id;

        }


        $variation_sku = get_post_meta( $variation_id , '_sku', TRUE );


        $term = $term . ' ('. $variation_sku .')';

    }


    return $term;

}

add_filter( 'woocommerce_variation_option_name', 'display_price_in_variation_option_name', 10, 1 );


查看完整回答
反对 回复 2022-09-25
  • 1 回答
  • 0 关注
  • 71 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号