WooCommerce Görüntü Fiyatını Kullanıcı Rolüne ve Kategorisine Göre Değiştirme [kapalı]


13

Kullanıcı rolüne (toptancı, bayi vb.) Ve kategoriye göre farklı bir fiyat görüntülemek istiyorum.

Sepete bir öğe eklendikten sonra sayfanın kendisine eklenmediğinde bu indirimleri gösteren dinamik bir fiyatlandırma eklentisi vardır.

Kullanıcı düzeyini kontrol etmek, öğenin kategorisini kontrol etmek ve ardından fiyatı dinamik olarak değiştirmek için bir filtre veya işlem kullanmanın bir yolu var mı?

Yanıtlar:


18

Evet woocommerce_get_price, kullanıcı rolüne göre değeri filtrelemek ve buna göre bir fiyat döndürmek için filtre kancasını kullanabilirsiniz :

add_filter('woocommerce_get_price', 'custom_price_WPA111772', 10, 2);
/**
 * custom_price_WPA111772 
 *
 * filter the price based on category and user role
 * @param  $price   
 * @param  $product 
 * @return 
 */
function custom_price_WPA111772($price, $product) {
    if (!is_user_logged_in()) return $price;

    //check if the product is in a category you want, let say shirts
    if( has_term( 'shirts', 'product_cat' ,$product->ID) ) {
        //check if the user has a role of dealer using a helper function, see bellow
        if (has_role_WPA111772('dealer')){
            //give user 10% of
            $price = $price * 0.9;
        }
    }
    return $price;
}

/**
 * has_role_WPA111772 
 *
 * function to check if a user has a specific role
 * 
 * @param  string  $role    role to check against 
 * @param  int  $user_id    user id
 * @return boolean
 */
function has_role_WPA111772($role = '',$user_id = null){
    if ( is_numeric( $user_id ) )
        $user = get_user_by( 'id',$user_id );
    else
        $user = wp_get_current_user();

    if ( empty( $user ) )
        return false;

    return in_array( $role, (array) $user->roles );
}

Bunu denedim. Bu kodu function.php dosyasına ekledi. Çalışmıyor.

1
Bu harika cevap için teşekkürler. Nedense varyasyon fiyatlarım bu filtreyi kullanarak değişmiyor. Bu soruna aşina mısınız?
Robbert

Sadece Basit ürünler üzerinde çalışır
Klevis Miho

0

Sen deneyebilirsiniz WooCommerce için Müşteriye Özel Fiyatlandırma . Bu eklenti ile kayıtlı kullanıcılar için farklı fiyatlar ekleyebilirsiniz.

Şu anda eklenti başlangıç ​​aşamasında, ancak ürün kategorisine dayalı fiyat gibi ek özellikleri desteklemek için yakında güncellemeler olacak.


bu eklenti yalnızca bir ürüne indirim uygulayabilir. Ya fiyatı yükseltmek istersen?
Klevis Miho
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.