मैं संबंधित उत्पाद अनुभाग में आईडी 64391 के साथ एक विशिष्ट उत्पाद दिखाना चाहता हूं लेकिन निम्नलिखित कोड उसके लिए काम नहीं करता है। क्या मैं कुछ भूल रहा हूँ?

 add_filter( 'woocommerce_output_related_products_args','msrp_reconfigure_related_products_args', 20 );

     public function msrp_reconfigure_related_products_args($args)
      {

        $args['posts_per_page'] = 5; 
        $args['columns'] = 5;
        $args['post__in'] = array(64391);

        return $args;
}
1
Umair Khan Jadoon 21 जून 2019, 17:19

1 उत्तर

सबसे बढ़िया उत्तर

जैसा कि आप WC के मुख्य स्रोत पर पा सकते हैं। फ़िल्टर हुक woocommerce_output_related_products_args wc-template-functions.php फ़ाइल के माध्यम से ट्रिगर होता है और इसे woocommerce_related_products फ़ंक्शन पर वापस भेज देता है। तो $args पैरामीटर db क्वेरी में प्रयुक्त args नहीं है और आप इसमें post__in कुंजी का उपयोग नहीं कर सकते।

इसके बजाय, संबंधित उत्पाद अनुभाग में विशिष्ट उत्पादों को जोड़ने के लिए, आप नीचे दिए गए अनुसार woocommerce_related_products फ़िल्टर का उपयोग कर सकते हैं:

add_filter('woocommerce_related_products', 'add_related_products');
function add_related_products($related_product_ids)
{
    // WC source code stores IDs as string in this array, so I did that too
    $related_product_ids[] = '81';
    return $related_product_ids;
}

परीक्षण किया और यह काम कर रहा है।

नोट: इस फ़िल्टर हुक में 3 पैरामीटर हैं: $related_posts, $product_id और $args। आप $product_id चेक करके इन नए उत्पादों को केवल विशिष्ट एकल उत्पाद पृष्ठों पर प्रदर्शित करने के लिए सीमित कर सकते हैं

3
Yashar 22 जून 2019, 03:00