كيفية فرز منتجات موقع ووردبريس على أساس المخزون


hi
I have a WooCommerce store website. I use this code to sort products based on inventory. But the code has an error. It dosent work corretct.please guide me. How to sort WordPress site products based on inventory?

ما حاولت:

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 – بحث جوجل[^] واختر الخيار الذي يبدو مناسبًا لك.

ضع نقطة توقف على السطر الأول في الوظيفة، وقم بتشغيل التعليمات البرمجية الخاصة بك من خلال مصحح الأخطاء. ثم انظر إلى التعليمات البرمجية الخاصة بك وإلى بياناتك واكتشف ما يجب أن يحدث يدويًا. ثم قم بخطوة واحدة في كل سطر للتأكد من أن ما كنت تتوقع حدوثه هو بالضبط ما حدث. عندما لا يكون الأمر كذلك، فهذا هو الوقت الذي تواجه فيه مشكلة، ويمكنك التراجع (أو تشغيلها مرة أخرى والنظر عن كثب) لمعرفة السبب.

عذرًا، ولكن لا يمكننا القيام بذلك نيابةً عنك – حان الوقت لتتعلم مهارة جديدة (ومفيدة جدًا جدًا): تصحيح الأخطاء!

コメント

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