آموزش ها, آموزش ووکامرس, جدیدترین مطالب, جهت مطالعه, کسب و کار, مطالب وردپرسی

تغییر نقش کاربری پیشفرض در ووکامرس هنگام خرید یا ثبت نام

تغییر نقش کاربری پیشفرض در ووکامرس

با نام و یاد خدای بزرگ, شاید برای شما هم پیش بیاید که بخواهید در وب سایت خود نقش افرادی که با ووکامرس در سایت شما ثبت نام کرده اند را تغییر بدهید اما ووکامرس چنین ویژگی را برای ما فراهم نکرده است و به صورت خودکار از تنظیمات وردپرس که میتوانیم نقش افراد ثبت نامی که در سایت وجود دارد را نمیخواند. بنابراین ما تصمیم گرفتیم در این آموزش از تی اف نت بلاگ این آموزش را برای شما بگذاریم تا بتوانید به راحتی نقش افرادی که در ووکامرس داخل سایت شما ثبت نام کرده اند را تغییر بدهید!

البته این کار برای وب سایت ما ویژگی هایی هم به همراه میاورد به طور مثال ما در وب سایت تی اف نت پلاس قبلا افرادی که داخل سایت ثبت نام میکردند به صورت پیشفرض نقش مشتری را به خود میگرفتند! و در ثبت نام های ارسال تیکت نقش کاربر را به خود میگرفتند و این باعث میشد تا دو نوع کاربر در سایت داشته باشیم.با این کار توانستیم تمامی کاربران را در وب سایت یک رنگ بکنیم! با ما برای کسب اطلاعات بیشتر همراه باشید!

آنچه در این مقاله میخوانید:

  • تغییر نقش کاربری پیشفرض در ووکامرس هنگام ثبت نام
  • استفاده از فیلتر woocommerce_new_customer_data
  • چرا باید از این فیلتر استفادبکنیم!
  • ساخت تابع mihanwp_new_customer_data
  • کد ساخته شده نهایی برای اضافه کردن!
  • افزودن کد تغییر نقش کاربری پیشفرض ووکامرس در سایت
  • انتخاب نقش کاربری پیشفرض در سایت وردپرسی

تغییر نقش کاربری پیشفرض در ووکامرس هنگام ثبت نام

ما در فروشگاه ساز ووکامرس به صورت پیشفرض نقش کاربران که در سایت ثبت نام میکنند ( مشتری ) هستند و ووکامرس این ویژگی را برای ما نزاشته است که بتوانیم در داخل تنظیمات این پلاگین زیبا تغییراتی اعمال بکنیم بنابراین شاید شما لازم داشته باشید که کاربرانی که در سایت ثبت نام میکنند نقش متفاوتی را به خود بگیرند!

اجازه بدهید با یک مثال این جمله را به درک درستی برسانیم بیایید فرض بکنیم که ما یک وب سایت ووکامرس در اختیار داریم و میخواهید از پلاگین ( Awesome Support ) برای ارسال تیکت کاربران استفاده نماید و همانطور که در بالا گفته شد ووکامرس نقش کاربری را به صورت پیشفرض مشتری ثبت میکند و کاربران شما برای ارسال تیکت نیاز دارد تا یک نقش دیگری در اختیار داشته باشند!

بنابراین اگر نقش ثبت نامی ها در سایت مشتری باشد برای ارسال تیکت به مشکل برخواهند خورد! برای این که این مشکل را در سایت برطرف بکنیم باید نقش پیشفرض ووکامرس را تغییر بدهیم و حالا بیایید طبق این آموزش از وب سایت تی اف نت بلاگ مراحل را دنبال و نقش کاربری پیشفرض ووکامرس را تغییر بدهیم

استفاده از فیلتر woocommerce_new_customer_data

همانطور که گفته شد ووکامرس تغییر نقش پیشفرض را درون تنظیمات خود برای کاربران ارائه نداده است و ما باید از فیلتر ( woocommerce_new_customer_data ) برای تغییر استفاده نماییم تا داده های ارسالی که موقع ثبت نام کاربران انجام میشود را تغییر بدهیم! حالا اجازه بدهید تا از این فیلتر برای تغییرات استفاده نماییم.

چرا باید از این فیلتر استفاده بکنیم!

ما اگر داخل فایل های ووکامرس در مسیر ( wp-content\plugins\woocommerce\includes\wc-customer-functions.php ) را برسی نماییم در لاین یا همان خط 102 کد زیر را مشاهده خواهیم کرد. که در این جا میتوانیم فیلتر مورد نظر را مشاهده بکنیم

$new_customer_data = apply_filters( 'woocommerce_new_customer_data', array(
    'user_login' => $username,
    'user_pass'  => $password,
    'user_email' => $email,
    'role'       => 'customer'
) );

ما در این تیکه کد در ابتدا با ( apply_filter ) مواجه هستیم که یعنی فیلتری با نام ( woocommerce_new_customer_data ) میتواند روی داده های ثبت نام کاربران نقش یا تاثیر گذارد باشد! حالا برای شروع باید role یا همان نقش کاربری تغییراتی ایجاد نماییم! همانطور که میدانیم باید برای اضافه کردن یک فیلتر در وب سایت های وردپرسی از add_filter استفاده نماییم مثل تیکه کد پایین:

<?php add_filter( $tag, $function_to_add, $priority, $accepted_args ); ?>

توجه داشته باشید که حتما کد بالا باید بعد از <?php قرار بگیرد و در غیر این صورت به مشکل برخواهید خورد!

ساخت تابع mihanwp_new_customer_data

و حالا به جای تیکه کد ( $tag ) از اسم فیلتر استفاده نماییم یا به استلاح از نام فیلتر استفاده بکنیم و به جای قطعه کد ( $function_to_add ) باید نام یا اسم تابع مورد نظر خودمان را وارد نماییم بعد وارد کردن موارد درخواست شده تیکه کد ساخته شده شما باید به شکل زیر باشد:

add_filter( 'woocommerce_new_customer_data', 'mihanwp_new_customer_data');

و حالا بعد از انجام این کار ها میرسیم به مرحله بعد که باید در این مرحله در تابع ( mihanwp_new_customer_data ) شروع به تغیرات کد نوشته داده بکنیم به صورت کلی باید اطلاعاتی را برگردانیم که مربوط به داده های مشتری هستند بعد از انجام این کار کد شما به شکل زیر خواهد بود:

function mihanwp_new_customer_data($new_customer_data){
 $new_customer_data['role'] = get_option( 'default_role' );
 return $new_customer_data;
}

و حالا طبق تیکه کد بدست آماده ما تنظیم کرده ایم که در آرایه ( new_customer_data ) به مقدار ( role ) یکسان باشد اگر بخواهیم به زبان ساده بگوییم این است که ما تنظیم کردیم تا نقش افرادی که با ووکامرس در سایت ثبت نام میکنند طبق تنظیمات نقش کاربری پشفرض وردپرس قرار بده با این کار هر شخصی که در وب سایت با استفاده از حساب کاربری ووکامرس در سایت ثبت نام بکنند در نقش کاربری پیشفرض وردپرس را به خود میگیرند!

کد ساخته شده نهایی برای اضافه کردن!

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

add_filter( 'woocommerce_new_customer_data', 'mihanwp_new_customer_data');

function mihanwp_new_customer_data($new_customer_data){
 $new_customer_data['role'] = get_option( 'default_role' );
 return $new_customer_data;
}

افزودن کد تغییر نقش کاربری پیشفرض ووکامرس در سایت

و حالا ویرسیم به تنظیم کد در وب سایت خود! البته اجازه بدهید با یک سوال این موضوع را پیش ببریم ( این کد را باید در کجای وب سایت خودمان قرار بدهیم ) در جواب به این سوال میتوانیم بگوییم که تمامی قالب های موجود یک فایل تابع یا اسم فایل ( functions.php ) میباشد این قطعه کد در این فایل قرار میگیرد در کل این فایل یک میزبان برای کدهای جدید میباشد البته شما میتوانید از موارد مختلفی برای تنظیم کد استفاده نمایید از جلمه ساخت یک افزونه اختصاصی ولی در کد نیازی به این کار ندارید!

تنها کاری باید برای تنظیم این قطعه کد انجام بدهید این است که مراحلی که به شما گفته میشود را دنبال بکنید و به سادگی بدون نیاز به هیچ گونه افزونه یا کدنویسی قطعه کد ساخته شده را تنظیم و نقش کاربری ووکامرس را به دلخواه خود تغییر بدهید:

  • ابتدا وارد در مسیر public_html -> wp-content -> Format -> functions.php فایل را ادیت نمایید.

این فایل ( functions.php ) در اکثر قالب ها یک کد ( ?> ) وجود دارد اگر این کد در قایلتان وجود دارد یک خط قبل از این ( ?> ) کد قرار بدهید و در صورتی که این (?> ) وجود ندارد شما تنها کافیست کد دریافتی و ساخته شده را در آخرین خط فایلتان قرار و سیو را بزنید به همین راحتی از زمانی که شما این کد را ذخیره کرده اید نقش کاربری پیشفرض سایت شما همانند نقش کاربری که در تنظیمات وردپرس وجود دارد یکی خواهد شد!

انتخاب نقش کاربری پیشفرض در سایت وردپرسی

ما در تنظیمات خود وردپرس میتوانیم تنظیم بکنیم تا افرادی که در وب سایت ما ثبت نام میکنند چه نقشی را برای خود بگیرند بنابراین اگر نمیدانید چگونه این تنظیمات در سایت ها وردپرس انجام میشود با ما همراه باشید تا این آموزشرو هم با هم دیگر یاد بگیریم. برای کار مسیر زیر را دنبال نمایید!

  • ابتدا وارد در مسیر پیشخوان وردپرس -> تنظیمات -> تنظیمات عمومی بروید.
انتخاب نقش کاربری پیشفرض در وردپرس

بعد از ورود به این بخش از سایت قسمت ( نقش پیش‌ فرض کاربر تازه ) میتوانید نقش کاربری که میخواهید کاربران بعد از ثبت نام در وب سایت شما اعمل شود را اعمل و بعد از انتخاب روی گذینه ذخیره تغییرات کلیک نمایید همانند تصویر بالا! و از این پس به بعد کاربرانی که در وب سایت شما حتی با ووکامرس ثبت نام بکنند دیگر نقش پیشفرضی که انتخاب کردید را به خود خواهید گرفت!

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

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

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