یکی از راههای ترغیب مشتریان برای خرید مجدد محصولاتی که در گذشته آنها را خریداری کردهاند، نمایش آنها در پنل کاربریشان میباشد. با اجرای این کار، باعث میشود فروشتان افزایش پیدا کند. در این مقاله قصد داریم نحوه نمایش محصولات خریداری شده توسط کاربر در ووکامرس را به شما آموزش دهیم.
کد نمایش محصولات خریداری شده توسط مشتری در ووکامرس
اگر میخواهید همه محصولاتی که کاربر در فروشگاه شما خریداری کرده را در پنل کاربریش نمایش دهید، قطعه کد زیر کمک خواهد کرد تا این کار را به راحتی انجام دهید. این قطعه کد، یک کد کوتاه به نام [my_purchased_products] ایجاد خواهد کرد که به طور خودکار لیست تمام محصولاتی که کاربر تاکنون خریداری کرده را جمعآوری و در قالب محصولات نمایش میدهد.
نکته: برای اجرای این کد، میتوانید آن را در فایل functions.php پوسته فرزند قرار دهید یا از افزونه Code Snippets استفاده نمایید.
/**
* @snippet Display All Products Purchased by User via Shortcode - WooCommerce
* @author Rodolfo Melogli
* @compatible WooCommerce 3.6.3
*/
add_shortcode( 'my_purchased_products', 'tidaweb_products_bought_by_curr_user' );
function tidaweb_products_bought_by_curr_user() {
// GET CURR USER
$current_user = wp_get_current_user();
if ( 0 == $current_user->ID ) return;
// GET USER ORDERS (COMPLETED + PROCESSING)
$customer_orders = get_posts( array(
'numberposts' => -۱,
'meta_key' => '_customer_user',
'meta_value' => $current_user->ID,
'post_type' => wc_get_order_types(),
'post_status' => array_keys( wc_get_is_paid_statuses() ),
) );
// LOOP THROUGH ORDERS AND GET PRODUCT IDS
if ( ! $customer_orders ) return;
$product_ids = array();
foreach ( $customer_orders as $customer_order ) {
$order = wc_get_order( $customer_order->ID );
$items = $order->get_items();
foreach ( $items as $item ) {
$product_id = $item->get_product_id();
$product_ids[] = $product_id;
}
}
$product_ids = array_unique( $product_ids );
$product_ids_str = implode( ",", $product_ids );
// PASS PRODUCT IDS TO PRODUCTS SHORTCODE
if( !empty( $product_ids_str ) )
return do_shortcode("[products ids='$product_ids_str']");
else
return __('You have not purchased any products yet.', 'tidaweb');
}
در مقاله بالا ترفند نمایش محصولات خریداری شده توسط مشتری در ووکامرس آموزش داده شد. در صورتی که سؤالی در این زمینه دارید، میتوانید آن را از بخش دیدگاهها با ما در میان بگذارید. همچنین اگر به دنبال ترفندهای بیشتر هستید، به ترفند وردپرس مراجعه کنید.
منبع : Business Bloomer
سلام
ممنون مطلب خوبتون
الان بجای این کدی که نوشتید اگر بخواهیم تعداد محصولات براساس وضعیت آنها (تکمیل شده – لغو شده – درحال انجام) که هر کاربر خریداری کرده را نمایش بدیم چه کدی را باید بنوسیم؟
به این صورت که مثلا:
تعداد سفارش های تکمیل شده ۲
تعداد سفارش های لغو شده ۲
تعداد سفارش های درحال انجام ۵
سلام
ان شاء الله در آینده نزدیک، مطلبی در این باره منتشر میشه که دقیق پاسخ سوال شما رو میده.
موفق و پیروز باشید
سلام خسته نباشید، کاربر زمانی که محصول دانلودی رو میخره، بعد از خرید وارد یک صفحه میشه که همونجا باید دانلود کنه، اگر صفحه رو ببنده و دانلود نکنه چون وارد حساب کاربریش نمیشه باید از اول بخره تا دوباره به محصول دسترسی داشته باشه به خیلی ها اینو گفتم ولی کسی راهنمایی قشنگی نکرد، ممنون میشم بفرمایید دقیقا چه کارکنم
سلام دوست عزیز
باتوجه به اینکه کاربران داخل سایت شما ثبت نام نمیکنن، دو نکته را باید رعایت کنین ، چون ووکامرس لینکهای دانلودی رو با ایمیل کاربرانی که ثبت سفارش میکنن میسازه.
نکته اول : محدودیتی برای دانلود لینکها نباشه.
نکته دوم : لینکها را کوتاه کنین و از طریق پیامک براش ارسال کنین.
موفق و پیروز باشین
سلام وقت شما بخیر
برای نمایش محصولات خریداری شده توسط کاربر، بصورت کنار هم یا گردونه (صرف نظر از حالت نمایش قالب) چکار باید کرد؟
سلام کاربر عزیز
این کدی که در این مقاله قرار گرفته، محصولات خریداری شده توسط کاربر را محاسبه میکنه و در نهایت در کد کوتاه [products] نمایشش میده . شما میتونین در هر حالتی خواستین نمایشش بدین کافیه خط زیر را عوض کنین و با هر مدلی دوست داشتین نمایش بدین.
return do_shortcode("[products ids='$product_ids_str']");
سلام وقتتون بخیر
ممنون از مطلب مفیدتون
این کد رو تست کردم و اوکی بود ولی اگه کاربری محصولی نخریده باشه هیچی بهش نمایش داده نمیشه.
میتونید ۱ بخشی به کد اضافه کنید که اگه محصولی نخریده باشه بنویسه: شما محصولی خریداری نکردید؟
باتشکر
باسلام خدمت کاربر گرامی
قطعه کد بهروزرسانی شد.