شورت کد تعداد سفارشات و تعداد محصولات به فروش رسیده

سلام رفقا
من به دوتا شورت کد تعداد سفارشات و تعداد محصولات فروخته شده نیاز دارم (در ووکامرس)
آیا شورت کد های آماده وجود داره یا باید کدنویسی بشه؟
اگر وجود نداره با چه زبانی ؟

1 پسندیده

ممنونم
چنتا سوال فنی و مبتدیانه :joy:
این کد ها رو باید کجا قرار بدم تا اینکه کار بکنه؟
و کلا نحوه استفاده ازش چطوریه :eyes:

سلام خدمت شما
درخواستی که داشتید تعداد سفارشات و محصولات بفروش رسیده تقریبا یکیه
یعنی همون تعداد سفارشی که داریم به همون تعداد هم محصول فروختیم
پس شما باید در ابتدا کد زیر را در فانکشن قالبتون قرار بددید
فایل فانکشن قالب در مسیر فولدر اصلی قالب هست و نام آن functions.php میباشد


function sevenhost_total_sales() {
	$total = 0;

	$args  = array(
		'post_type'      => 'product',
		'posts_per_page' => - 1,
	);
	$posts = new WP_Query( $args );
	if ( $posts->have_posts() ) {
		while ( $posts->have_posts() ) {
			$posts->the_post();
			$count = get_post_meta( $posts->post->ID, 'total_sales', true );
			$total += intval( $count );
		}
		wp_reset_postdata();
	}

	return $total;
}

خب تابع اصلی نمایش تغداد فروش را قرار دادیم حالا برای نمایش تعداد سفارشی که ثبت شده و یا فروش محصولات در فروشگاهتون
کافیه کد زیر را در هر قسمت که قصد نمایش تعداد را دارید قرار بدید :


<?php echo number_format_i18n( sevenhost_total_sales() );?>
1 پسندیده

ممنون
این کار رو کردم و کد رو توی فانکشن قرار دادم
و بعدش که کد پایینی رو توی نوشته تازه(بخش متن که کد هم میشه زد) رو زدم هیچ اتفاقی رخ نداد
برای فراخوانیش از کدوم بخش استفاده کنم؟

پس از آنکه کد اصلی را در فانکشن قرار دادید
کد زیر را هم در زیر همان کد قرار بدید


add_shortcode( 'total_sale', 'sevenhost_total_sales' );

پس از این میتوانید با شرتکد [total_sale] تعداد فروش و سفارشات را در همان بخشی که میفرمایید نمایش دهید

1 پسندیده

ممنون ازتون
این اوکی شد
من الان میخوام تعداد سفارشات رو هم نشون بدم(مثلا 13 سفارش) و این تعداد محصولات فروخته شده هست
یعنی به همچین ترکیبی میخوام برسم : 150 محصول فروخته شده و 13 سفارش
این کدی که شما فرمودید تنها برای تعداد فروش محصولات هستش نه تعداد سفارشات

کد زیر در فانکشن قرار بدید


function sevenhost_product_sold(){
    global $wpdb;
    $results = $wpdb->get_results( "SELECT * FROM wp_wc_order_stats");
    $i = 0;
    foreach($results as $res){

        $f+= $results[$i]->num_items_sold;
        $i++;
    }
    return $f;
}
add_shortcode( 'sevenhost_product_sold', 'sevenhost_product_sold');

و از شورتکد زیر برای نمایش تعداد محصولات فروخته شده استفاده نمایید

[sevenhost_product_sold]

1 پسندیده

تعداد سفارش با تعداد محصول فروخته شده از نظر شما یکیه؟ :smiling_face_with_tear:

خب کدی که ارسال کردم تعداد کل محصولات فروخته شده رو نمایش میده

بله دقیقا ، حالا من در کنار اون به کد تعداد سفارشات نیاز دارم
این کد کاربردیه بنظرتون؟

function get_user_total_purchased_items( $user_id = 0 ){
    global $wpdb;

    $customer_id = $user_id === 0 ? get_current_user_id() : (int) $user_id;

    return (int) $wpdb->get_var( "
        SELECT SUM(woim.meta_value)
        FROM {$wpdb->prefix}woocommerce_order_items AS woi
        INNER JOIN {$wpdb->prefix}woocommerce_order_itemmeta AS woim ON woi.order_item_id = woim.order_item_id
        INNER JOIN {$wpdb->prefix}posts as p ON woi.order_id = p.ID
        INNER JOIN {$wpdb->prefix}postmeta as pm ON woi.order_id = pm.post_id
        WHERE woi.order_item_type = 'line_item'
        AND p.post_type LIKE 'shop_order'
        AND p.post_status IN ('wc-completed')
        AND pm.meta_key LIKE '_customer_user'
        AND pm.meta_value LIKE '$customer_id'
        AND woim.meta_key LIKE '_qty'
    " );
}

اگر کاربردی یه تکه کد هم میدید که به عنوان add shortcode اضافه کنم

1 پسندیده

تعداد سفارشات


function sevenhost_total_order(){
    global $wpdb;
    $results = $wpdb->get_results( "SELECT * FROM wp_wc_order_stats where status='wc-completed'");
    $res =  count($results);
    return $res;
}
add_shortcode( 'sevenhost_total_order', 'sevenhost_total_order');

شورتکد :
[sevenhost_total_order]

تست کنید

1 پسندیده