उपयोगकर्ता की भूमिका और श्रेणी के आधार पर WooCommerce प्रदर्शन मूल्य बदलना [बंद]


13

मैं एक उपयोगकर्ता भूमिका (थोक व्यापारी, डीलर, आदि) और श्रेणी के आधार पर एक अलग मूल्य प्रदर्शित करने के लिए देख रहा हूं।

एक डायनामिक प्राइसिंग प्लगइन है जो एक बार कार्ट में जोड़े जाने के बाद इन छूटों को प्रदर्शित करता है, लेकिन पेज पर ही नहीं।

क्या उपयोगकर्ता स्तर की जांच करने, आइटम की श्रेणी की जांच करने और फिर कीमत को गतिशील रूप से बदलने के लिए एक फिल्टर या कार्रवाई का उपयोग करने का एक तरीका है?

जवाबों:


18

हाँ, आप woocommerce_get_priceउपयोगकर्ता की भूमिका के आधार पर मूल्य को फ़िल्टर करने के लिए फ़िल्टर हुक का उपयोग कर सकते हैं और तदनुसार कीमत लौटा सकते हैं:

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 );
}

मैंने यह कोशिश की। इस कोड को functions.php में जोड़ा गया है। काम नहीं करता है।

1
इस बेहतरीन जवाब के लिए धन्यवाद। किसी कारण से मेरी भिन्नताएँ इस फ़िल्टर के उपयोग से नहीं बदलतीं। क्या आप इस समस्या से परिचित हैं?
रॉबर्ट

केवल साधारण उत्पादों पर काम करता है
Klevis Miho

0

आप WooCommerce के लिए ग्राहक विशिष्ट मूल्य निर्धारण की कोशिश कर सकते हैं । इस प्लगइन के साथ, आप पंजीकृत उपयोगकर्ताओं के लिए विभिन्न मूल्य जोड़ सकते हैं।

वर्तमान में प्लगइन अपने प्रारंभिक चरण में है, लेकिन उत्पाद श्रेणी के आधार पर मूल्य जैसी अतिरिक्त सुविधाओं का समर्थन करने के लिए जल्द ही अपडेट होगा।


यह प्लगइन केवल किसी उत्पाद को छूट दे सकता है। यदि आप कीमत बढ़ाना चाहते हैं तो क्या होगा?
क्लेविस मिहो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.