【问题标题】:Woocommerce specific price changingWoocommerce 特定价格变化
【发布时间】:2015-04-21 23:25:53
【问题描述】:

我对 Woo-commerce 有疑问,我认为我很接近找到解决方案, 但有一个错误:

我的任务是根据用户名、特定产品 ID 和产品类别来更改 woocommerce 产品默认价格。

代码在这里:

`if ( is_user_logged_in() ) {

add_filter('woocommerce_get_price','change_price', 10, 2);
add_filter('woocommerce_get_regular_price','change_price', 10, 2); 
add_filter('woocommerce_get_sale_price','change_price', 10, 2);
}

function change_price($price, $productd){
    $vrednost=$productd->get_sku( );
       $current_user = wp_get_current_user(); //uzimam trenutno logovanog korisnika
            global $wpdb;
            global $mydb;
            global $cena;
            $cena=$productd->price;
            $mydb= new wpdb('root','','wordpress123','localhost'); 
            $mydb->show_errors(); 
            $userna=$current_user->user_login;  
            $paypal_id = $mydb->get_results("select sifra_kupca from wp_prodajno_mjesto WHERE user ='$userna'");
              foreach ($paypal_id as $objs) {
              $sifrovani=$objs->sifra_kupca; 
              }
            $standard_rabat=$mydb->get_results("select standardni_rabat from wp_kupac WHERE sifra_kupca ='$sifrovani'");
              foreach ($standard_rabat as $objs) {
              $ispis=$objs->standardni_rabat;
              }
            $konacnorabat=$ispis;
            $price =intval($productd->price)-((intval($ispis)/100)*$productd->price); 
            $ima=$mydb->get_results("select sifra_kupca from wp_cjenik_kupca WHERE sifra_kupca ='$sifrovani'");       
            foreach ($ima as $objs) {
              $ispis7=$objs->sifra_kupca;
              }
            if ($ispis7==NULL)
            {
             return $price;
             exit;
            }
            $grupa=$mydb->get_results("select grupa_artikala from wp_cjenik_kupca WHERE sifra_kupca ='$sifrovani'");
            foreach ($grupa as $objs) {
              $ispis4=$objs->grupa_artikala;
              }
            if (!($ispis4==NULL))
           {
            global $post;
            $args = array( 'taxonomy' => 'product_cat',);
            $terms = wp_get_post_terms($post->ID,'product_cat', $args);
            $count = count($terms); 
            if ($count > 0) {
              foreach ($terms as $term) {
                $cata=$term->name;
              }
            }
           $sifbaza=$productd->get_sku( );
            $nc=$mydb->get_results("select cjenik_cijena from wp_cjenik_kupca WHERE (sifra_kupca ='$sifrovani' AND sifra_artikla='$sifbaza')");
             foreach ($nc as $objs2) {
              $novacen=$objs2->cjenik_cijena;
              }
            if (!($novacen==NULL))
               {
                 $konacnoprice=$novacen;
                 $rabat2=$mydb->get_results("select cjenik_rabat from wp_cjenik_kupca WHERE (sifra_kupca ='$sifrovani' AND sifra_artikla='$sifbaza')  ");
            foreach ($rabat2 as $objs5) {
              $konacnorabat=$objs5->cjenik_rabat;
              }
               }
             else  {
                  $konacnoprice=$productd->price;
                  $rabat3=$mydb->get_results("select cjenik_rabat from wp_cjenik_kupca WHERE (sifra_kupca ='$sifrovani' AND grupa_artikala='$cata')  ");
            foreach ($rabat3 as $objs5) {
              $konacnirabat=$objs5->cjenik_rabat;
              }
               }

             if (!($konacnirabat==NULL))
               {$price='5000';return $price;
                 exit;}
             else {$price=(intval($konacnoprice)-((intval($konacnorabat)/100)*intval($konacnoprice)));}
                 return $price;
                 exit;
          } 
}
`

现在我有一个问题:

`if (!($konacnirabat==NULL))
               {$price='5000';return $price;
                 exit;}`

所以商店页面上的所有价格都已正确更改,但是当我将 $konacnirabat 字段不为空的特定产品添加到购物车时,它会在购物车中给出错误的价格结果。

这里还有一些屏幕截图,其中包含为此所需的数据库表: LINK

【问题讨论】:

    标签: woocommerce


    【解决方案1】:

    我在过去几天遇到了同样的问题,我找到了解决方案 - 您应该使用不同的过滤器 - 一种是在将产品添加到购物车时,另一种是在从购物车会话中获取价格时。这是我找到答案的地方:source

    【讨论】:

    • 我在我的代码中更改了一些参数并且它有效!但是现在有一个问题 - 这仅适用于本地主机(xamp)。当我将我的网站迁移到实时托管时,商店页面仅针对商店中的第一个产品显示正确的价格。添加到卡时,会添加好价格。
    猜你喜欢
    • 1970-01-01
    • 2016-08-11
    • 1970-01-01
    • 2013-04-28
    • 2022-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-27
    相关资源
    最近更新 更多