كيفية إعادة توجيه المستخدم إذا لم يكن مسجلاً في WordPress »إعادة توجيه الصفحة
نشرت: 2022-01-02في المنشور الأخير ، أوضحت كيفية التحقق مما إذا كان المستخدم قد قام بتسجيل الدخول في WordPress. أحد الأسباب الشائعة وراء رغبتك في التحقق مما إذا كان مستخدم WordPress قد تم تسجيل دخوله هو إظهار صفحات مختلفة بناءً على حالة تسجيل دخول مستخدم WordPress. إذا كنت ترغب في إعادة توجيه المستخدمين إذا لم يتم تسجيل الدخول إلى WordPress ، فيمكنك تحقيق ذلك عن طريق إضافة مقتطف رمز في ملف jobs.php الخاص بك كما سترى في هذا البرنامج التعليمي السريع.
لماذا إعادة توجيه المستخدمين في WordPress؟
تعد إعادة توجيه المستخدمين مطلبًا مهمًا لمعظم مواقع WordPress. هناك أوقات مختلفة قد ترغب فيها في إعادة توجيه المستخدمين من صفحة إلى أخرى. على سبيل المثال ، يمكنك إعادة توجيه مستخدمي WooCommerce بعد الخروج ، أو يمكنك إعادة توجيه المستخدم بعد التسجيل أو إعادة التوجيه بتسجيل الدخول إلى موقع الويب.
تعد إعادة التوجيه إذا لم يتم تسجيل الدخول إلى WordPress أحد أكثر عمليات إعادة التوجيه شيوعًا. على الرغم من وجود مكونات إضافية يمكن أن تساعد في إدارة إعادة التوجيه في WordPress ، إلا أن إضافة مقتطف صغير يحل هذه المشكلة يعد حلاً أفضل من الاعتماد على مكون إضافي تابع لجهة خارجية.
في هذا البرنامج التعليمي ، سأوضح كيفية إضافة مقتطف في المظهر أو المكون الإضافي الخاص بك الذي ينشئ إعادة التوجيه للمستخدمين الذين لم يسجلوا الدخول إلى صفحة من اختيارك.
خطوات إعادة التوجيه إذا لم يتم تسجيل الدخول إلى WordPress
لتنفيذ إعادة التوجيه إذا لم يتم تسجيل الدخول إلى WordPress ، يجب عليك اتباع الخطوات التالية:
- قم بتسجيل الدخول إلى موقع WordPress الخاص بك وانتقل إلى محرر السمات ضمن قائمة المظهر في قائمة لوحة القيادة الرئيسية.
- افتح ملف function.php لموضوع WordPress النشط. يمكنك أيضًا استخدام CPanel أو FTP للوصول إلى ملف function.php السمة النشط. تقع على هذا الطريق -
wp-root-Installation / wp-content / theme / active-theme / function.php - قم بإنشاء خطاف إجراء يتم ربطه بخطاف تهيئة المسؤول -
admin_init
، على سبيل المثالadd_action('init', 'redirect_if_not_logged_in')
. يحتوي هذا الخطاف على وظيفة رد الاتصال التي سيكون لها منطق للتحقق مما إذا كان المستخدم قد تم تسجيله في WordPress وإذا لم يتم تسجيل الدخول ، فسيتم إعادة توجيهه إلى الصفحة التي نرغب فيها. - قم بإنشاء وظيفة رد الاتصال كما ذكرنا أعلاه وأضف الكود وفقًا لذلك.
- احفظ التغييرات وانتقل إلى الواجهة الأمامية لاختبار ما إذا كان المستخدمون الذين لم يسجلوا الدخول قد تمت إعادة توجيههم إلى الصفحة التي أضفتها في الشفرة.
دعنا نوضح كيف يمكنك إضافة إعادة التوجيه إذا لم يكن المستخدم مسجلاً في 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 () والذي يوفر طريقة أفضل لإعادة التوجيه لأنه يتحقق مما إذا كان مضيف معلمة الموقع $ مسموحًا به.
مقالات مماثلة
- كيفية إزالة أو تعطيل المراجعات في WooCommerce
- كيفية التحقق مما إذا كان البرنامج المساعد نشطًا في WordPress [3 طرق]
- كيفية إنشاء منطقة عنصر واجهة مستخدم مخصصة في WordPress خطوة بخطوة
- كيفية إخفاء منتج في WooCommerce أو إخفاء المنتجات حسب الفئة أو الأدوار
- كيفية تغيير رابط العودة إلى المتجر في Woocommerce
- كيفية إنشاء أدوار مستخدم مخصصة لـ WordPress
- كيفية الحصول على دور المستخدم الحالي في WordPress وأدوار العرض
- كيفية إصلاح خطأ النوع غير المكتسب: wp.template ليس دالة
- الدليل الكامل لاستخدام الخطافات المخصصة لـ WordPress do_action & application_filters مع أمثلة
- كيفية إعادة توجيه المستخدمين بعد تسجيل الدخول بنجاح في WordPress دون استخدام البرنامج المساعد
- WooCommerce تسجيل الخروج بدون تأكيد: كيفية إزالة "هل أنت متأكد أنك تريد تسجيل الخروج؟"
- كيفية إعادة التوجيه إلى عربة التسوق بعد تسجيل الدخول في WooCommerce
- WooCommerce Logout PHP Snippet لإنشاء زر تسجيل الخروج
- كيفية إنشاء إشعار إدارة WooCommerce عن البرنامج المساعد - تطوير WooCommerce
- تمت إضافة كيفية الإزالة إلى رسالة WooCommerce الخاصة بسلة التسوق
- كيفية إضافة نص بعد السعر في WooCommerce »إضافة لاحقة السعر
- كيفية تغيير المتابعة إلى نص الخروج في WooCommerce