वर्डप्रेस साइट उत्पादों को इन्वेंट्री के आधार पर कैसे क्रमबद्ध करें


नमस्ते, मेरे पास एक WooCommerce स्टोर वेबसाइट है। मैं इन्वेंट्री के आधार पर उत्पादों को क्रमबद्ध करने के लिए इस कोड का उपयोग करता हूं। लेकिन कोड में एक त्रुटि है. यह ठीक से काम नहीं कर रहा है। कृपया मेरा मार्गदर्शन करें। इन्वेंट्री के आधार पर वर्डप्रेस साइट उत्पादों को कैसे क्रमबद्ध करें?

मैंने क्या प्रयास किया है:

add_action('init', function() {
	if( isset($_GET['update_products_arv']) ) {
		$products = wc_get_products( [ 'limit' => 500,'offset' => 200] );
		foreach( $products as $product ){
			$total_stock = $product->get_stock_quantity() ? : 0;
			if( $product->is_type( 'variable' ) ){
				$variations = $product->get_children();
				if( !$variations ) continue;
				foreach ($variations as $variation_id) {
					$variation = wc_get_product( $variation_id );
					$total_stock += $variation->get_stock_quantity() ? : 0;
				}
			}
			update_post_meta($product->get_id(), 'xx_stock', $total_stock);
		}
	}
});

add_action('woocommerce_product_query', function($q) {
	if( ! is_admin() ) {
		$q->set('orderby', 'meta_value_num');
		$q->set('meta_key', 'xx_stock');
		$q->set('order', 'DESC');
	}
});

समाधान 1

हम आपकी मदद नहीं कर सकते: हमारे पास आपके इन्वेंट्री डेटा तक कोई पहुंच नहीं है, न ही हमें पता है कि त्रुटि संदेश (यदि कोई है) क्या है, या आपको क्या उम्मीद थी या आपको क्या मिला, इसकी कोई जानकारी नहीं है।

तो, यह आप पर निर्भर करेगा।
सौभाग्य से, आपके पास एक उपकरण उपलब्ध है जो आपको यह पता लगाने में मदद करेगा कि क्या हो रहा है: डिबगर। यहाँ से शुरू: php डीबगर – Google खोज[^] और ऐसा चुनें जो ऐसा लगे कि यह आपके लिए काम करेगा।

फ़ंक्शन में पहली पंक्ति पर ब्रेकपॉइंट लगाएं, और डीबगर के माध्यम से अपना कोड चलाएं। फिर अपने कोड और अपने डेटा को देखें और पता लगाएं कि मैन्युअल रूप से क्या होना चाहिए। फिर एक चरण में प्रत्येक पंक्ति की जाँच करें कि आपने जो होने की उम्मीद की थी वही हुआ। जब ऐसा नहीं होता है, तब आपको कोई समस्या होती है, और आप इसका कारण जानने के लिए बैक-ट्रैक कर सकते हैं (या इसे फिर से चला सकते हैं और अधिक बारीकी से देख सकते हैं)।

क्षमा करें, लेकिन हम आपके लिए ऐसा नहीं कर सकते – यह आपके लिए एक नया (और बहुत, बहुत उपयोगी) कौशल सीखने का समय है: डिबगिंग!

コメント

タイトルとURLをコピーしました