مدت زمان تقریبی مطالعه: 0 دقیقه و 54 ثانیه

چگونه کاربران را مجبور به انتخاب تصویر پروفایل کاربری شان کنیم؟

جزئیات

دسته بندی
منتشر شده در 2019/06/08
پسندها 0
بازدید 425
نظرات 0
منبع

توضیحات

البته این سوال به گونه ای دیگر مطرح شده بود و سوال به این صورت بود که آیا امکانش هست در فرم ثبت نام بارگذاری عکس هم اضافه شود تا آواتار اعضا بدون عکس باقی نماند؟

 

شما می توانید از طریق مسیر روبرو فیلد جدید به فرم ثبت نام اضافه کنید: “کاربران” => “فیلدهای پروفایل”

فیلدهای این بخش شامل فیلد آپلود نمیشود که البته با نصب یک افزونه می توانید انواع دیگری از فیلدها رو در اختیار داشته باشید (دقیقا هر فیلدی که مورد نیاز شما باشه رو داره):

BuddyPress Xprofile Custom Field Types

 

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

یک راه ساده و دم دست تر هم اینه که یک فانکشنی بنویسیم و کاربر رو مجبور کنیم که برای پروفایلش تصویرش رو بارگذاری کنه و تا زمانیکه تصویری برای پروفایلش انتخاب نکرده به هیچ کدام از امکانات سایت دسترسی نداشته باشه و ریدایرکت بشه به بخش بارگذاری تصویر پروفایل:

 

کد زیر رو داخل فایل functions.php قالب وبسایت تون قرار بدید و ذخیره اش کنید:

 

 function yz_force_user_to_set_profile_avatar() {

	if ( ! is_user_logged_in() ) {
		return;
	}

	$user_id = get_current_user_id();

	if ( ! bp_get_user_has_avatar( $user_id ) && bp_current_action() !=  'change-avatar' ) {
		
		bp_core_add_message( __( 'لطفا تصویر پروفایل خود را بارگذاری کنید، تا زمانیکه تصویر پروفایل خود را بارگذاری نکنید، به هیچ کدام از امکانات سایت دسترسی نخواهید داشت.' ), 'error' );
		bp_core_redirect( bp_loggedin_user_domain() . buddypress()->profile->slug . '/change-avatar/' );
	}

}

add_action( 'template_redirect', 'yz_force_user_to_set_profile_avatar' ); 

 

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

نظرات

دیدگاه خود را بیان کنید

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

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.