WooCommerce उत्पादों को दुकान के पृष्ठ पर डिफ़ॉल्ट रूप से प्रदर्शित करें

Aug 16 2020

मैं इस कोड के साथ अपने शॉप पेज पर बेतरतीब ढंग से उत्पादों को प्रदर्शित करने की कोशिश कर रहा हूं:

add_filter('woocommerce_get_catalog_ordering_args', 'set_sort_order');
function set_sort_order($args) { $args['orderby'] = 'rand';
    return ($args);    
}

लेकिन यह कोड यादृच्छिक उत्पाद श्रेणी पेज बनाता है, लेकिन मुझे पृष्ठ - फ्रंट पेज को स्टोर करने की आवश्यकता है। उत्पाद श्रेणी पृष्ठ पर नहीं। मैं यह कैसे कर सकता हूं ?

जवाब

2 LoicTheAztec Aug 16 2020 at 11:03

उत्पादों को केवल संग्रह संग्रह पृष्ठों पर बेतरतीब ढंग से छाँटने के बजाय निम्नलिखित का उपयोग करें:

// Set default orderby query to "rand" option for shop archive pages
add_filter('woocommerce_get_catalog_ordering_args', 'shop_default_orderby_rand');
function shop_default_orderby_rand($args) { if( is_shop() && ( ! isset($_GET['orderby']) || 'menu_order' === $_GET['orderby'] ) ) { $args['orderby'] = 'rand';
        return ($args);
    }
}

या आप इसे भी उपयोग कर सकते हैं:

// Set default orderby query to "rand" for shop archive pages
add_action( 'pre_get_posts', 'shop_default_orderby_rand' );
function shop_default_orderby_rand( $query ) {
    if ( is_shop() && ( ! isset($_GET['orderby']) || 'menu_order' === $_GET['orderby'] ) ) {
        $query->set( 'orderby', 'rand' );
    }
}

अपने सक्रिय चाइल्ड थीम (या सक्रिय थीम) के फ़ंक्शन .php फ़ाइल में कोड डालें। परीक्षण किया और काम करता है।