یکی از راه‌های ترغیب مشتریان برای خرید مجدد محصولاتی که در گذشته آنها را خریداری کرده‌اند، نمایش آنها در پنل کاربریشان می‌باشد. با اجرای این کار، باعث می‌شود فروشتان افزایش پیدا کند. در این مقاله قصد داریم نحوه نمایش محصولات خریداری شده توسط کاربر در ووکامرس را به شما آموزش دهیم.

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

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

اگر می‌خواهید همه محصولاتی که کاربر در فروشگاه شما خریداری کرده را در پنل کاربریش نمایش دهید، قطعه کد زیر کمک خواهد کرد تا این کار را به راحتی انجام دهید. این قطعه کد، یک کد کوتاه به نام [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

۴.۷/۵ - (۱۱۸ امتیاز)

8 نظر برای “نمایش محصولات خریداری شده توسط کاربر در ووکامرس

  1. salman میگوید:

    سلام
    ممنون مطلب خوبتون
    الان بجای این کدی که نوشتید اگر بخواهیم تعداد محصولات براساس وضعیت آنها (تکمیل شده – لغو شده – درحال انجام) که هر کاربر خریداری کرده را نمایش بدیم چه کدی را باید بنوسیم؟

    به این صورت که مثلا:
    تعداد سفارش های تکمیل شده ۲
    تعداد سفارش های لغو شده ۲
    تعداد سفارش های درحال انجام ۵

    • مدیر سایت میگوید:

      سلام
      ان شاء الله در آینده نزدیک، مطلبی در این باره منتشر میشه که دقیق پاسخ سوال شما رو میده.
      موفق و پیروز باشید

  2. امید میگوید:

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

    • مدیر سایت میگوید:

      سلام دوست عزیز
      باتوجه به اینکه کاربران داخل سایت شما ثبت نام نمیکنن، دو نکته را باید رعایت کنین ، چون ووکامرس لینکهای دانلودی رو با ایمیل کاربرانی که ثبت سفارش می‌کنن میسازه.
      نکته اول : محدودیتی برای دانلود لینکها نباشه.
      نکته دوم : لینکها را کوتاه کنین و از طریق پیامک براش ارسال کنین.

      موفق و پیروز باشین

  3. hossein میگوید:

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

    • مدیر سایت میگوید:

      سلام کاربر عزیز
      این کدی که در این مقاله قرار گرفته، محصولات خریداری شده توسط کاربر را محاسبه میکنه و در نهایت در کد کوتاه [products] نمایشش میده . شما میتونین در هر حالتی خواستین نمایشش بدین کافیه خط زیر را عوض کنین و با هر مدلی دوست داشتین نمایش بدین.
      return do_shortcode("[products ids='$product_ids_str']");

  4. افشین میگوید:

    سلام وقتتون بخیر
    ممنون از مطلب مفیدتون
    این کد رو تست کردم و اوکی بود ولی اگه کاربری محصولی نخریده باشه هیچی بهش نمایش داده نمیشه.
    میتونید ۱ بخشی به کد اضافه کنید که اگه محصولی نخریده باشه بنویسه: شما محصولی خریداری نکردید؟

    باتشکر

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *