إعادة توجيه المستخدمين عند تسجيل الدخول

إعادة توجيه المستخدمين عند تسجيل الدخول

في هذه التدوينة سنرى طريقة إعادة توجيه المستخدمين إلى صفحات مختلفة عند تسجيل الدخول حسب رتبة المستخدم أو اسمه.

إعادة توجيه المستخدمين عند تسجيل الدخول

في المثالين سنستعمل فيلتر login_redirect الذي يصلح تحديداً لتغيير المسار عند تسجيل الدخول في ووردبريس.

إعادة توجيه المستخدمين حسب الرتب.

إذا كنت تريد إرسال مديرين، محررين، كتَّاب، مشتركين… إلى صفحات محددة من قبلك (كل واحد إلى صفحة مختلفة) فقط عليك إضافة هذا الكود إلى ملف functions.php او إلى إضافتك المخصصة.

اقرأ أيضا: عرض آخر المستخدمين المسجلين على ووردبريس

function sb_custom_login_redirect( $redirect_to, $request, $user ) {
	global $user;
	if ( isset( $user->roles ) && is_array( $user->roles ) ) {

	if ( in_array( 'administrator', $user->roles ) ) {
		return home_url( '/wp-admin/plugins.php' );

	} elseif ( in_array( 'editor', $user->roles ) ) {
		return home_url( '/wp-admin/edit.php' );

	} elseif {
		return home_url();
	}
}
add_filter( 'login_redirect', 'sb_custom_login_redirect', 10, 3 );

إعادة توجيه المستخدمين حسب اسم المستخدم.

إذا كنت تريد إعادة توجيه المستخدم حسب اسمه (المستعمل في تسجيل الدخول) تحديداً وليس حسب رتبته، في الأول عليك تحديد إلى أي صفحة سيتم إرسال كل واحد.

مثلا، في موقع شركة يستعمل ووردبريس، قد يكون من المفيد توجيه مستخدمين معيَّنين إلى صفحات مخصصة تتضمن معلومات حول القسم الذي يهتم به كل واحد عوض الذهاب إلى الصفحة الرئيسية للوحة التحكم.

function sb_custom_login_redirect( $redirect_to, $request, $user ) {

	global $user;

	$userredirect = esc_attr( $user->user_login );

	if ( $userredirect === 'admin' ) {
		return $redirect_to;
	} elseif ( $userredirect === 'said' ) {
		return home_url( '/users/said/' );
	} elseif ( $userredirect === 'mohammed' ) {
		return home_url( '/users/mohammed/' );
	} else {
		return home_url();
	}
}
add_filter( 'login_redirect', 'sb_custom_login_redirect', 10, 3 );
في هذا الكود يجب تغيير أسماء المستخدمين (admin, said,mohammed) وكذلك روابط الصفحات التي يتم إعادة التوجيه إليها.

بعد ذلك من الواجب وضع رابط لصفحة تسجيل الدخول [code lang=”php” inline=true]wp-login.php[/code] في مكان ما من الموقع ليتمكن المستخدمون من الدخول، أو إضافة نموذج تسجيل الدخول بواسطة wp_login_form().

اقرأ أيضا: الدليل الشامل لأنواع المقالات المخصصة في ووردبريس

هذه الوظيفة تقوم بإنشاء نموذج تسجيل الدخول (login form) بسيط لكي يستعمل في أي مكان من الموقع، يمكننا وضعه في sidebar.php مثلاً وإعطائه تنسق معيّن عن طريق CSS.

<?php wp_login_form(); ?>

إعادة توجيه المستخدمين بواسطة إضافة.

Peter’s Login Redirect: تمكنك من إعادة توجيه المستخدمين عند تسجيل الدخول وعند تسجيل الخروج.
WordPress Login Redirect: هذه الإضافة تقوم بتوجيه المستخدمين من رتبة مشترك إلى الصفحة الرئيسية للموقع.
Login Redirect: تمكنك من إعادة توجيه المستخدمين إلى صفحات مخصص عند تسجيل الدخول.
Logout Redirect: ترسل المستخدمين إلى صفحات مخصصة عند تسجيل الخروج.

close

قم بالتسجيل على قائمتي البريدية لكي تكون من الأوائل في الحصول على تدوينات وشروحات حصرية

أنا لا أرسل أبدا البريد المزعج! اقرأ سياسة الخصوصية لمزيد من المعلومات.

4 تعليقات

  1. السلا عليكم أخي سعيد استفدت كثيرا من مدونتك القيمة
    المرجو مساعدتي في هذا المشكل
    نصبت قالب وقمت بجميع التغييرات الممكنة علية ولكن في أحد المربعات الجانية هناك رابط موقع القالب ومعلومات على المصمم لما أحدفه يتوقف القالب
    theme desavtivé
    المرجو مساعدتي علي تجاوز المشكلة

    1. و عليك السلام اخي,
      يسعدني أن المدونة تعجبك و تفيدك.
      في ما يخص مشكلتك, يمكنني مساعدتك إذا كان القالب مجاني و مصدره مفتوح… اما إذا كان القالب عبارة عن نسخة مجانية لقالب مدفوع, يأسفني أن أقول لك انني لا أستطيع المساعدة لأن إزالة الروابط هو خرق لحقوق التأليف والنشر.

  2. السلام عليكم
    عندي استفسار حقيقة انا جديد على الورد بريس
    تم تصميم موقع عربي بالورد بريس وأريد أضيف لغة إنكليزيه بأن كل شيء مكتوب بالعربي يتحول إلى إنكليزي
    أرجو المساعده وشكرا لك أخي الكريم

اترك تعليقًا

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *