ووکامرس پس از ثبت نام توسط نقش ها، کاربران را تغییر مسیر دهید

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

در حالت ایده‌آل، اولین کاربر مشتری و کاربر دیگر عضوی خواهد بود که قبل از دسترسی به محتوای محدود، نیازی به پرداخت هزینه ندارد.

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

تغییر مسیر ووکامرس بر اساس نقش های کاربر

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

// بررسی کنید که آیا کاربر فعلی نقش‌ها را مشخص کرده است یا خیر

function check_user_role($roles, $user_id = NULL) {

    if ($user_id) $user = get_userdata($user_id);

       else $user = wp_get_current_user();

    if (empty($user)) return false;
       foreach ($user->roles as $role) {

    if (in_array($role, $roles)) {
      return true;
    }
 }
     return false;
}

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

ووکامرس تغییر مسیر کاربران پس از ثبت نام مثال

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

  • ما یک تابع برای تغییر مسیر کاربر خاص ایجاد می کنیم، به عنوان مثال – مشتری پس از ثبت نام.
  • ما تابع بالا check_user_role را فراخوانی می کنیم تا نقش خاصی را که در مرحله بالا ایجاد کردیم مشخص کنیم.
  • URL را که می‌خواهیم مشتری را به داخل تابعی که ایجاد کرده‌ایم هدایت کنیم، برمی‌گردانیم.
  • اقدام تغییر مسیر ثبت نام ووکامرس را اضافه کنید.
function custom_registration_redirect() {

if (check_user_role(array('customer'))) {

        return site_url('/payment/');
     }

 }

add_action('woocommerce_registration_redirect', 'custom_registration_redirect', 2);

اکثر کاربران جدید وردپرس یا توسعه دهندگان مبتدی نمی توانند بفهمند کجا باید این کد را اضافه کنند، شما می توانید این کد را ترجیحاً در فایل functions.php تم کودک به فایل functions.php خود اضافه کنید.

مطمئن شوید که بخش مربوطه را جایگزین کرده اید تا با نقش کاربری و صفحه تغییر مسیر مطابقت داشته باشد. همچنین می‌توانید آخرین دستور if را برای اضافه کردن تغییر مسیرهای بیشتر برای نقش‌های بیشتر با استفاده از عبارت if-else گسترش دهید و آن را با یک دستور Switch جایگزین کنید.

در نهایت، این کد کامل برای تغییر مسیر کاربران پس از ثبت نام بر اساس نقش آنها در ثبت نام ووکامرس است:

// بررسی کنید که آیا نقش های فعلی مشخص شده توسط کاربر وجود دارد یا خیر

function check_user_role($roles, $user_id = NULL) {

  if ($user_id) $user = get_userdata($user_id);
        else $user = wp_get_current_user();

     if (empty($user)) return false;
   
    foreach ($user->roles as $role) {
     
  if (in_array($role, $roles)) {
      return true;
    }
   }
    return false;
}

// یک تابع Redirection + WP Action ایجاد کنید
   function custom_registration_redirect() {

      if (check_user_role(array('customer'))) { // Add the User Role in the Array

        return site_url(''); //Add your redirect page slug here
    }
}

add_action('woocommerce_registration_redirect', 'custom_registration_redirect', 2);

 

در این مقاله قصد داریم تا درباره ووکامرس پس از ثبت نام توسط نقش ها، کاربران را تغییر مسیر دهید صحبت کنیم.


قیمت آموزش
رایگان
نوع دسترسی
رایگان

این مقاله در حال حاضر تنها به روش رایگان در دسترس می باشد.

ناصر خالدی
مدرس دوره

ناصر خالدی

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

گفتگوی برنامه نویسان

بخشی برای حل مشکلات برنامه‌نویسی و مباحث پیرامون آن

دیدگاه‌ها و پرسش‌ها

برای ارسال نظر نیاز است تا ابتدا وارد سایت شوید.

هیچ نظری ارسال نشده است.

مقالات پیشنهادی

نود جی اس

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


۶۶۰
۰
۱۲ آذر ۱۳۹۹

پی اچ پی - PHP

با استفاده از این زبان می توان وب سایت های پویا طراحی کرد, این زبان می تواند با HTML ادغام شود, در حقیقت یک زبان اسکریپتی متن باز و رایگان است. یعنی زمانی که سرور درخواست ...


۶۸۷
۰
۱۳ آذر ۱۳۹۹

جاوا اسکریپت

جاوا اسکریپت یک زبان پویا و محبوب مبتنی بر شیء, داینامیک و مفسری می باشد. این زبان برای برنامه نویسی سمت سرور و کلاینت استفاده میشود که ...


۶۲۵
۰
۱۳ آذر ۱۳۹۹

اندروید

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


۷۵۹
۰
۲۹ آبان ۱۳۹۹