كيفية إعادة توجيه المستخدم إذا لم يكن مسجلاً في WordPress »إعادة توجيه الصفحة

نشرت: 2022-01-02

كيفية إعادة التوجيه إذا لم يتم تسجيل الدخول إلى ووردبريس في المنشور الأخير ، أوضحت كيفية التحقق مما إذا كان المستخدم قد قام بتسجيل الدخول في WordPress. أحد الأسباب الشائعة وراء رغبتك في التحقق مما إذا كان مستخدم WordPress قد تم تسجيل دخوله هو إظهار صفحات مختلفة بناءً على حالة تسجيل دخول مستخدم WordPress. إذا كنت ترغب في إعادة توجيه المستخدمين إذا لم يتم تسجيل الدخول إلى WordPress ، فيمكنك تحقيق ذلك عن طريق إضافة مقتطف رمز في ملف jobs.php الخاص بك كما سترى في هذا البرنامج التعليمي السريع.

لماذا إعادة توجيه المستخدمين في WordPress؟

تعد إعادة توجيه المستخدمين مطلبًا مهمًا لمعظم مواقع WordPress. هناك أوقات مختلفة قد ترغب فيها في إعادة توجيه المستخدمين من صفحة إلى أخرى. على سبيل المثال ، يمكنك إعادة توجيه مستخدمي WooCommerce بعد الخروج ، أو يمكنك إعادة توجيه المستخدم بعد التسجيل أو إعادة التوجيه بتسجيل الدخول إلى موقع الويب.

تعد إعادة التوجيه إذا لم يتم تسجيل الدخول إلى WordPress أحد أكثر عمليات إعادة التوجيه شيوعًا. على الرغم من وجود مكونات إضافية يمكن أن تساعد في إدارة إعادة التوجيه في WordPress ، إلا أن إضافة مقتطف صغير يحل هذه المشكلة يعد حلاً أفضل من الاعتماد على مكون إضافي تابع لجهة خارجية.

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

خطوات إعادة التوجيه إذا لم يتم تسجيل الدخول إلى WordPress

لتنفيذ إعادة التوجيه إذا لم يتم تسجيل الدخول إلى WordPress ، يجب عليك اتباع الخطوات التالية:

  1. قم بتسجيل الدخول إلى موقع WordPress الخاص بك وانتقل إلى محرر السمات ضمن قائمة المظهر في قائمة لوحة القيادة الرئيسية.
  2. افتح ملف function.php لموضوع WordPress النشط. يمكنك أيضًا استخدام CPanel أو FTP للوصول إلى ملف function.php السمة النشط. تقع على هذا الطريق - wp-root-Installation / wp-content / theme / active-theme / function.php
  3. قم بإنشاء خطاف إجراء يتم ربطه بخطاف تهيئة المسؤول - admin_init ، على سبيل المثال add_action('init', 'redirect_if_not_logged_in') . يحتوي هذا الخطاف على وظيفة رد الاتصال التي سيكون لها منطق للتحقق مما إذا كان المستخدم قد تم تسجيله في WordPress وإذا لم يتم تسجيل الدخول ، فسيتم إعادة توجيهه إلى الصفحة التي نرغب فيها.
  4. قم بإنشاء وظيفة رد الاتصال كما ذكرنا أعلاه وأضف الكود وفقًا لذلك.
  5. احفظ التغييرات وانتقل إلى الواجهة الأمامية لاختبار ما إذا كان المستخدمون الذين لم يسجلوا الدخول قد تمت إعادة توجيههم إلى الصفحة التي أضفتها في الشفرة.

دعنا نوضح كيف يمكنك إضافة إعادة التوجيه إذا لم يكن المستخدم مسجلاً في WordPress. سأستخدم سمة WordPress الافتراضية في تثبيت المضيف المحلي ولكن هذا يمكن أن يعمل مع جميع المواقع الأخرى ، بغض النظر عن السمة وبيئة الاستضافة.

قد يأخذ رمز إضافة إعادة التوجيه أيضًا شرطًا آخر كما هو الحال في معظم الحالات عندما تريد تقييد المحتوى من المستخدمين غير المسجلين ، يمكنك التحقق من شرطين:

  • إذا تم تسجيل دخول المستخدم
  • إذا كان المستخدم موجودًا في الصفحة التي يوجد بها المحتوى المقيد

عند استيفاء هذه الشروط ، يجب عليك استخدام وظيفة wp_redirect () لإعادة توجيه المستخدم إلى الصفحة التي تختارها.

وظيفة الفسفور الابيض: wp_redirect ()

هذه وظيفة إعادة توجيه WordPress يمكن استخدامها في السمات والمكونات الإضافية لإعادة توجيه المستخدمين. يكون التعبير العام لهذه الوظيفة كما يلي:

wp_redirect( string $location, int $status = 302, string $x_redirect_by = 'WordPress' )

كما ترى ، تحتوي الوظيفة على ثلاث معلمات كالتالي:

معامل وصف
$location هذا هو عنوان URL حيث تريد إعادة توجيه المستخدم. عندما تستخدم هذه الوظيفة عندما لا يقوم المستخدم بتسجيل الدخول ، فأنت بحاجة إلى توفير عنوان URL للصفحة التي سنقوم بإعادة توجيه المستخدم إليها كما سترى في نموذج التعليمات البرمجية
$status هذه معلمة اختيارية وقد لا تراها مستخدمة كثيرًا ، لكنها رمز حالة استجابة HTTP الذي يجب استخدامه. افتراضي "302" ويمكنك استخدام 301 لإعادة التوجيه الدائمة. كن حذرًا عند استخدام هذه المعلمة مع خيار إعادة التوجيه 301.
$x_redirect_by هذا ببساطة هو التطبيق الذي يطبق إعادة التوجيه وهذا نادرًا ما يغير القيمة الافتراضية وهي WordPress

إجراء إعادة توجيه القالب إذا لم يتم تسجيل دخول المستخدم

لإعادة توجيه المستخدم الذي لم يقم بتسجيل الدخول في WordPress ، يمكنك الآن استخدام وظيفة wp_redirect مع الفحص الشرطي إذا كان المستخدم قد قام بتسجيل الدخول على النحو التالي:

 add_action ('template_redirect'، 'redirect_if_user_not_logged_in') ؛

وظيفة redirect_if_user_not_logged_in () {

	إذا (is_page ('slug || ID') &&! is_user_logged_in ()) {// يمكن أن يكون المثال is_page (23) حيث 23 هو معرف الصفحة

		wp_redirect ('http: // your-redirect-page-here') ؛ 
 
     exit؛ // لا تنس هذا المخرج أبدًا لأنه من المهم جدًا أن يكون لـ wp_redirect () الخروج / الموت
   
   }
   
}

استبدل الرابط الثابت للفحص الشرطي بصفحتك المعنية واستبدل أيضًا عنوان URL لإعادة التوجيه في الكود أعلاه وأضفه إلى function.php لإعادة توجيه المستخدمين الذين لم يسجلوا الدخول إلى عنوان URL للصفحة.

Admin Init Redirect Action إذا لم يتم تسجيل دخول المستخدم

بدلاً من ذلك ، يمكنك ربط admin_init بدلاً من template_redirect لإعادة توجيه المستخدم إذا لم يتم تسجيل الدخول إلى WordPress.

يجب أن يكون الرمز هو نفسه بصرف النظر عن نقطة إضافة خطاف الإجراء. يجب أن يكون الرمز كما يلي:

 add_action ('admin_init'، 'redirect_if_user_not_logged_in') ؛

وظيفة redirect_if_user_not_logged_in () {

إذا (! is_user_logged_in () && is_page ('slug')) {

      wp_redirect ('http: // your-redirect-page-here') ؛ 
   
   خروج؛
   }
}

عندما نضيف هذا الرمز إلى وظائف WordPress الافتراضية theme.php ونضيف الرابط الثابت للصفحة التي نريد إنشاء إعادة التوجيه وعنوان URL للوجهة ، فإنه يعمل بشكل مثالي كما ترى:

كيفية إعادة التوجيه إذا لم يتم تسجيل الدخول إلى ووردبريس

افكار اخيرة

عندما تريد إنشاء إعادة توجيه إذا لم يكن المستخدم مسجلاً في WordPress ، فأنت بحاجة أولاً إلى التحقق مما إذا كان المستخدم قد سجل الدخول باستخدام الرمز الذي شاركته في هذا المنشور ، ثم استخدم وظيفة wp_redirect () لإضافة الوجهة الجديدة حيث يجب على المستخدمين إعادة توجيههم في حالة وصولهم إلى صفحة أو منشور معين.

يمكن إضافة هذا الرمز إلى ملف function.php الخاص بقالبك أو يمكنك استخدامه كجزء من مكون WordPress الإضافي المخصص. من المهم أن تتذكر دائمًا ، عند استخدام وظيفة wp_redirect ، يجب ألا تنسى أبدًا إضافة المخرج لأن هذه الوظيفة لا تخرج تلقائيًا.

بصفتك مطورًا لبرنامج WordPress الإضافي ، يمكنك أيضًا التفكير في مكون إضافي لإعادة توجيه WordPress wp_safe_redirect () والذي يوفر طريقة أفضل لإعادة التوجيه لأنه يتحقق مما إذا كان مضيف معلمة الموقع $ مسموحًا به.

مقالات مماثلة