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

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

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

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

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

18 thoughts on “نمایش محصولات خریداری شده توسط کاربر در ووکامرس

  1. salman میگوید:

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

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

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

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

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

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

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

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

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

  3. hossein میگوید:

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

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

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

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

          پیام عزیز، این کد براساس کد کوتاه ووکامرس کار میکنه و پس از فراخوانی شناسه محصولات اونها رو در کد کوتاه [products] قرار میده. اگر بخوای نمایش محصولات را سفارشی سازی کنی، باید به جای کد کوتاه محصولات کد اختصاصی براش بنویسی 🙂

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

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

    باتشکر

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

      سلام علی جان
      شما می‌بایست قالب برگه حساب کاربری ووکامرس را با المنتور طراحی کنین و در هر جایی که از این برگه دوست دارین بلوک کد کوتاه بندازین و کد [my_purchased_products] را داخل اون قرار بدین.

      باتشکر

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

      سلام خدمت کاربر گرامی
      کد کوتاه products را در قطعه کد موجود در مقاله بالا پیدا کرده و کد زیر را جایگزین کنید. به جای your_category ، نامک دسته‌بندی مورد نظر را وارد کنید.
      [products ids='$product_ids_str' category='your_category']
      موفق و پیروز باشید

  5. میثم میگوید:

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

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

      سلام میثم جان
      با استفاده از کد بالا میتونین کل محصولات خریداری شده کاربر رو یک جا بهش نمایش بدین. اگر باز هم مشکل داشتین میتونین تماس بگیرین تا راهنماییتون کنیم.
      موفق و پیروز باشی

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

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