إعادة توجيه WooCommerce بعد تسجيل الخروج [الدليل النهائي]

نشرت: 2022-01-10

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

هناك مكونات إضافية يمكن استخدامها لإنشاء عمليات إعادة توجيه لتسجيل الخروج من WooCommerce ولكنها ليست جيدة كما ينبغي ؛ أنا أعمل على حل أفضل سيساعدك على إدارة إعادة توجيه WooCommerce بعد تسجيل الخروج تمامًا مثل المكون الإضافي الذي أنشأته لـ WooCommerce Logout After Checkout.

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

بالنسبة إلى هذا المنشور ، أرغب في مشاركة نهج الكود الذي يمكنك استخدامه لإنشاء إعادة توجيه فعالة لتسجيل الخروج من WooCommerce ، ولكن سيكون للمكوِّن الإضافي العديد من الخيارات الشرطية التي تعمل على توسيع خيارات إعادة التوجيه الافتراضية كما أنجزت في WooCommerce Redirect بعد المكون الإضافي للدفع.

أقسام إعادة توجيه تسجيل الخروج WooCommerce -Skim وانتقل إلى القسم

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

آمل أن يكون مكانًا رائعًا لكل من المستخدمين المتمرسين في مجال التكنولوجيا وغير المتمرسين في مجال التكنولوجيا لإيجاد حل لإنشاء أفضل خيار لإعادة توجيه تسجيل الخروج من WooCommerce لمشاريعهم.

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

جدول المحتويات

  1. إعادة توجيه الصفحة الرئيسية - بعد تسجيل الخروج ، أعد التوجيه إلى الصفحة الرئيسية في Woocommerce
  2. إعادة توجيه الصفحة الحالية - زر تسجيل الخروج من Woocommerce وإعادة التوجيه إلى الصفحة الحالية
  3. إعادة توجيه صفحة محددة حسب المعرف - صفحة إعادة توجيه تسجيل الخروج من Woocommerce
  4. إعادة توجيه دور العميل - Woocommerce Customer Logout Redirect
  5. إعادة توجيه الصفحة السابقة- تسجيل الدخول إلى Woocommerce إعادة التوجيه إلى الصفحة السابقة
  6. إعادة توجيه صفحة حسابي - Woocommerce إعادة توجيه تسجيل الخروج من حسابي
  7. إعادة توجيه عنوان URL خارجي - وظيفة إعادة توجيه تسجيل الخروج من Woocommerce مقتطف Php
  8. إصلاح خطأ إعادة توجيه تسجيل الخروج - إعادة توجيه تسجيل الخروج من Woocommerce لا تعمل
  9. عنوان URL لإعادة توجيه تسجيل الخروج من WP - عنوان URL لتسجيل الخروج من Woocommerce
  10. البرنامج المساعد Woocommerce Logout Redirect
  11. إنشاء إعادة توجيه تسجيل الخروج في WordPress - الوظائف الأساسية
  12. إعادة توجيه تسجيل الدخول إلى WooCommerce: woocommerce_login_redirect Hook
  13. وظيفة تسجيل الخروج من WordPress - wp_logout_url ()
  14. ربط عامل تصفية WordPress logout_redirect
  15. WordPress Filter Hook login_redirect
  16. إعادة توجيه WooCommerce Multisite بعد تسجيل الخروج
  17. ربط عامل التصفية: allow_redirect_hosts
  18. وظيفة إعادة توجيه WordPress: wp_ Redirect
  19. وظيفة إعادة توجيه WordPress: wp_safe_redirect ()
  20. استنتاج

أعد توجيه WooCommerce بعد تسجيل الخروج

woocommerce إعادة توجيه الخروج بشكل افتراضي ، تقوم WooCommerce بعد تسجيل الخروج والتسجيل وتسجيل الدخول بإعادة توجيه المستخدمين إلى "حسابي". هذا السلوك غير مرغوب فيه خاصة على مواقع الويب التي تهدف إلى زيادة مبيعاتها.

تتضمن إجراءات إدارة المستخدم الثلاثة الأكثر شيوعًا على موقع WooCommerce الخاص بك ما يلي:

  • تسجيل المستخدم
  • تسجيل دخول المستخدم
  • تسجيل المستخدم
  • تحرير ملف تعريف المستخدم
  • خروج المستخدم

يمكن تحسين كل من هذه الإجراءات ليس فقط لتسهيل تنقل المستخدم بسلاسة ولكن أيضًا لزيادة فرص المبيعات للعملاء الحاليين والجدد. يوجد عنوان URL أو رابط تسجيل الخروج من Woocommerce افتراضيًا في صفحة حسابي ويريد معظم مالكي متجر WooCommerce تغيير إعادة توجيه تسجيل الخروج في صفحة حسابي لإعادة التوجيه إلى صفحة معينة أو مسار مبيعات WooCommerce.

كيف أعيد توجيه تسجيل الخروج من صفحة حسابي؟

أحد الأسئلة الأكثر شيوعًا حول تسجيل الخروج من WooCommerce هو كيفية إنشاء تسجيل خروج تلقائي من صفحة حسابي وإعادة التوجيه إلى موقع ويب آخر أو إلى صفحة داخلية.

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

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

لماذا إنشاء WooCommerce Logout Redirect

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

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

تتيح لك عمليات إعادة توجيه تسجيل الخروج من WooCommerce زيادة معدل تحويل المبيعات عن طريق إعادة توجيه العملاء بعد تسجيل الخروج إلى صفحة مقصودة للمبيعات أو إلى صفحة إعادة توجيه مسار تحويل WooCommerce - بدلاً من إعادة توجيه العميل إلى صفحة "حسابي" الافتراضية.

سيوضح لك هذا البرنامج التعليمي كيفية تغيير الإعداد الافتراضي لإعادة توجيه WooCommerce بعد تسجيل الخروج وإعادة توجيه المستخدمين إلى عناوين URL مخصصة مثل "مسارات تحويل المبيعات" أو "العروض الخاصة" أو "الكتالوج" أو الصفحة السابقة أو الصفحة المقصودة الخاصة أو أي رابط خارجي مناسب لزيادة المبيعات والتحويلات.

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

لقد ناقشت سابقًا كيفية إزالة رسالة تأكيد تسجيل الخروج من WooCommerce مما يسهل على عملائك تسجيل الخروج تلقائيًا من موقع WooCommerce الخاص بك دون ظهور رسالة التشكل.

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

قم بتغيير WooCommerce Logout Redirect تغيير إعادة توجيه تسجيل الخروج woocommerce

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

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

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

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

إذا لم تكن معتادًا على WooCommerce أو WordPress Action hooks and filter hooks ، فإن هذا البرنامج التعليمي حول application_filters و do_action hooks يمكن أن يكون مكانًا جيدًا للبدء في التعود على المرشحات والخطافات.

إنها دائمًا ممارسة جيدة قبل أن تبدأ في إنشاء وظيفة إعادة توجيه تسجيل الخروج من WooCommerce ، يجب عليك التحقق مما إذا كان المستخدم قد قام بتسجيل الدخول. والآن دعنا نحدد الخيارات المختلفة التي يمكنك استخدامها لإنشاء إعادة توجيه تسجيل الخروج من WooCommerce.

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

إعادة توجيه الصفحة الرئيسية - بعد تسجيل الخروج ، أعد التوجيه إلى الصفحة الرئيسية في Woocommerce

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

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

ما عليك سوى نسخ هذا الرمز في ملف function.php السمة الخاص بك واختباره لمعرفة ما إذا كان مستخدم WooCommerce قد تمت إعادة توجيهه إلى الصفحة الرئيسية بعد تسجيل الخروج.

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

يمكنك أيضًا إضافة مقتطف الشفرة هذا إلى ملف المكونات الإضافية وسيعمل بسلاسة.

 add_action ('wp_logout'، 'njengah_homepage_logout_redirect') ؛

الوظيفة njengah_homepage_logout_redirect () {

    wp_redirect (home_url ()) ،

    خروج؛

}

كيف يعمل كود إعادة التوجيه

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

الخطاف: wp_logout

يستخدم هذا الرمز ربط الإجراء wp_logout الذي تمت مناقشته بالتفصيل في هذه المقالة ضمن قسم - ربط WordPress - wp_logout. من الناحية المثالية ، هذا هو رابط تسجيل الخروج الافتراضي لـ WordPress الذي يتم تشغيله بعد تنفيذ تسجيل الخروج.

الوظيفة: wp_redirect ()

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

الوظيفة: home_url ()

الوظيفة الأخيرة المستخدمة في وظيفة رد الاتصال هي home_url () ، وهي وظيفة WordPress تقوم بإرجاع عنوان url للصفحة الرئيسية للموقع الحالي.

home_url( string $path = '', string|null $scheme = null )

على سبيل المثال ، يمكنك عرض عنوان URL للصفحة الرئيسية للموقع الحالي باستخدام وظيفة home_url () على النحو التالي:

 $ url = home_url () ؛

صدى $ url؛

لذلك في حالة إعادة توجيه WooCommerce هذه بعد تسجيل الخروج ، ستعيد عنوان URL الحالي للموقع وتضيفه كسلسلة إلى وظيفة wp_redirect() .

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

إعادة توجيه الصفحة الحالية - زر تسجيل الخروج من Woocommerce وإعادة التوجيه إلى الصفحة الحالية

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

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

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

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

 function njengah_redirect_current_page_after_logout ($ logout_url ، $ redirect) {

       إرجاع $ logout_url. '& amp؛ redirect_to ='. get_permalink () ،

}

add_filter ('logout_url'، 'njengah_redirect_current_page_after_logout'، 10، 2) ؛

كيف تعمل المدونة

يتكون هذا الرمز من عامل تصفية logout_url ووظيفة رد الاتصال تحتوي على وظيفة get_permalink() WordPress التي تنشئ الصفحة الحالية لمستخدمي الواجهة الأمامية وتستخدمها لإرجاع عنوان URL لتسجيل الخروج.

عامل التصفية: logout_url ()

في هذه الحالة ، استخدمنا logout_url وهو عامل تصفية تسجيل خروج أساسي آخر لـ WordPress و WooCommerce تمت مناقشته بالتفصيل في القسم أدناه وظيفة WordPress logout_url .

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

لجعلها تعمل للمستخدمين في الخلفية أيضًا ، نحتاج إلى استبدال وظيفة get_permalink() بقيمة استعلام HTTP التي تمثل الصفحة الحالية.

PHP Super Global $ _SERVER ['HTTP_HOST']

لذا في هذه الحالة نحتاج إلى إضافة هذا $ _SERVER ['HTTP_HOST'] العالمي الفائق كبديل get_permalink() . $_SERVER هو متغير شامل PHP يحتوي على معلومات حول الرؤوس والمسارات ومواقع البرامج النصية.

ترجع القيمة العالمية الفائقة $_SERVER['HTTP_HOST'] رأس المضيف من الطلب الحالي. لذلك يساعدنا في الحصول على الصفحة الحالية حتى نتمكن من تطبيقها على عنوان URL لإعادة توجيه WooCommerce بعد تسجيل الخروج. يجب أن يكون الرمز الجديد الذي يعمل لجميع المستخدمين كما يلي:

 function njengah_redirect_current_page_after_logout ($ logout_url ، $ redirect) {

      إرجاع $ logout_url. '& amp؛ redirect_to = http: //'. _SERVER $ ['HTTP_HOST']. _SERVER $ ['REQUEST_URI'] ؛

}

add_filter ('logout_url'، 'njengah_redirect_current_page_after_logout'، 10، 2) ؛

يمكنك الآن إنشاء زر لإنهاء ارتباط إعادة التوجيه باتباع البرنامج التعليمي الذي شاركته سابقًا حول كيفية إنشاء زر تسجيل الخروج من WooCommerce.

إعادة توجيه صفحة معينة - صفحة إعادة توجيه تسجيل الخروج من Woocommerce (حسب المعرف)

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

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

 add_action ('wp_logout'، 'njengah_specific_page_logout_redirect') ؛

الوظيفة njengah_specific_page_logout_redirect () {

    wp_redirect (get_permalink ($ pageId)) ؛

    خروج؛

}

كيف تعمل المدونة

يستخدم هذا الرمز ربط الإجراء wp_logout وفي وظيفة رد الاتصال لدينا وظيفة get_permalink() مع متغير $pageID والذي يجب استبداله بمعرف الصفحة حيث تريد إعادة توجيه المستخدم بعد الخروج.

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

وظيفة WooCommerce: wc_get_page_id ()

يمكنك أيضًا استخدام اسم الصفحة حيث تريد إعادة توجيه المستخدم مع wc_get_page_id() WooCommerce كما في مقتطف الشفرة أدناه:

 add_action ('wp_logout'، 'njengah_specific_page_logout_redirect') ؛

الوظيفة njengah_specific_page_logout_redirect () {

       wp_redirect (get_permalink (wc_get_page_id ('shop'))) ؛

      خروج؛

}

تقوم وظيفة wc_get_page_id() باسترداد معرفات الصفحة وتستخدم بشكل شائع لحسابي ، و edit_address ، و shop ، و cart ، و checkout ، و pay ، و view_order ، و Terms and Returns -1 إذا لم يتم العثور على صفحة.

إعادة توجيه دور العميل - Woocommerce Customer Logout Redirect

إعادة توجيه WooCommerce أخرى بعد سيناريو تسجيل الخروج هو المكان الذي تريد إعادة توجيه المستخدمين بناءً على الدور. ربما تريد إعادة توجيه العميل إلى صفحة معينة بعد تسجيل الخروج بدلاً من إعادة توجيه "حسابي" الافتراضية بعد تسجيل الخروج.

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

 if (is_user_logged_in ()) {// تحقق مما إذا كان هناك مستخدم قام بتسجيل الدخول       

    المستخدم $ = wp_get_current_user () ، // الحصول على وتعيين المستخدم الحالي

          $ الأدوار = (مجموعة) $ user-> الأدوار ؛ // الحصول على الدور

           // $ tools [0]؛ // يعيد دور واحد

            // إرجاع $ الأدوار؛ // إرجاع مجموعة الأدوار

             // قم بإجراء المقارنة هنا 

              إذا ($ players [0] == 'customer') {

                 // قم بتنفيذ إعادة التوجيه إذا كان دور المستخدم الحالي مساويًا للعميل

                    add_action ('wp_logout'، 'njengah_specific_page_logout_redirect') ؛

                       الوظيفة njengah_specific_page_logout_redirect () {

                        wp_redirect (get_permalink ($ pageId)) ؛

                             خروج؛

                   }

           }

 }

كيف تعمل المدونة

لقد بدأنا بالتحقق مما إذا كان المستخدم قد قام بتسجيل الدخول كما أوضحت في منشور سابق حول كيفية معرفة ما إذا كان مستخدم WordPress قد قام بتسجيل الدخول.

احصل على دور المستخدم

كانت الخطوة الثانية هي الحصول على دور المستخدم الحالي في WordPress باستخدام وظيفة wp_get_current_user() وتحديد دور المستخدم الحالي.

قارن وقم بتنفيذ إعادة التوجيه إذا تطابق الدور مع العميل

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

يمكنك استبدال الدور بدور آخر بما في ذلك الأدوار المخصصة. يمكنك أيضًا تغيير صفحة إعادة التوجيه عن طريق تمرير معرف صفحة مختلف في وظيفة get_permalink() .

إعادة توجيه الصفحة السابقة- Woocommerce تسجيل الخروج إعادة التوجيه إلى الصفحة السابقة

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

يمكنك استخدام مقتطف الشفرة أدناه لإنشاء إعادة توجيه تسجيل الخروج WooCommerce إلى الصفحة السابقة:

 // ابدأ الجلسة العامة لحفظ عنوان url الخاص بالمحيل
وظيفة start_session () {
     جلسة_ستارت () ،
}

add_action ('init'، 'start_session'، 1)؛

// احصل على رابط الإحالة واحفظه

وظيفة redirect_url () {
    إذا (is_user_logged_in ()) {
        $ _SESSION ['Referer_url'] = wp_get_referer () ؛
    } آخر {
        session_destroy () ،
    }

}
add_action ('template_redirect'، 'redirect_url') ؛

// إعادة توجيه تسجيل الخروج

الوظيفة njengah_logout_redirect () {

    إذا (isset ($ _ SESSION ['Referer_url'])) {

        wp_redirect ($ _ SESSION ['Referer_url']) ؛

    } آخر {

        wp_redirect (home_url ()) ،

    }

}

add_filter ('wp_logout'، 'njengah_logout_redirect'، 1100، 2) ؛

كيف تعمل المدونة

استخدم هذا الرمز جلسات PHP لإنشاء جلسة وحفظ عنوان URL للصفحة الحالية وفي وظيفة إعادة التوجيه نقوم باختبار عنوان URL للجلسة المحدد - $_SESSION['referer_url'] .

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

إعادة توجيه صفحة حسابي - Woocommerce إعادة توجيه تسجيل الخروج من حسابي

تعد إعادة توجيه تسجيل الخروج من WooCommerce من صفحة حسابي واحدة من أكثر الأسئلة شيوعًا حول تسجيل الخروج من WooCommerce.

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

 add_action ('wp_logout'، 'njengah_my_account_page_logout_redirect') ؛

الوظيفة njengah_my_account_page_logout_redirect () {

       wp_redirect (get_permalink ($ pageId)) ؛

                خروج؛

}

يمكنك تغيير قيمة متغير pageID $pageID في دالة get_permalink () لتتوافق مع معرف الصفحة لصفحة إعادة التوجيه أو المنشور وسيعمل هذا بسلاسة.

إعادة توجيه عنوان URL خارجي- وظيفة إعادة توجيه تسجيل الخروج من Woocommerce مقتطف Php:

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

وظيفة إعادة توجيه تسجيل الخروج من WooCommerce هي مقتطف php الذي يمكن إضافته إلى ملف jobs.php لإنشاء إعادة التوجيه بعد تسجيل الخروج كما يلي:

 add_action ('wp_logout'، 'njengah_redirect_after_logout') ؛

الوظيفة njengah_redirect_after_logout () {

  wp_redirect ($ url) ؛

  خروج()؛

}

ما عليك سوى إضافة مقتطف الشفرة هذا في function.php واستبدال المتغير $url بعنوان URL الخاص بإعادة التوجيه بين علامتي الاقتباس.

على سبيل المثال ، إذا كنت تريد إعادة توجيه المستخدم إلى عنوان URL خارجي بعد تسجيل الخروج وكان عنوان URL الخارجي هو http://example.com ، فيمكنك استبدال المتغير $url بعنوان URL الكامل كما هو موضح في الكود أدناه:

 add_action ('wp_logout'، 'njengah_redirect_after_logout') ؛

الوظيفة njengah_redirect_after_logout () {

    wp_redirect ('http://example.com') ؛

    خروج()؛

}

عنوان URL لإعادة توجيه تسجيل الخروج من WP - عنوان URL لتسجيل الخروج من Woocommerce

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

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

 wp_logout_url (

    get_permalink (wc_get_page_id ("myaccount"))

 ) ؛

يمكنك أيضًا الحصول على عنوان URL خارجي في عنوان URL لإعادة توجيه تسجيل الخروج من WooCommerce على النحو التالي:

 wp_logout_url (

   "http://example.com/"

) ؛

يمكنك أيضًا إضافة وظائف WordPress إلى عنوان URL الخاص بإعادة توجيه تسجيل الخروج من WP كما يلي:

 wp_logout_url (

    home_url ()

) ؛

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

إصلاح خطأ إعادة توجيه تسجيل الخروج: إعادة توجيه تسجيل الخروج Woocommerce لا تعمل

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

أولوية الخطاف

الخطوة الأولى هي التحقق من أولوية add_action() أو add_filter() مقارنة بخطافات WordPress الأخرى. هذا هو أحد الأسباب الأكثر شيوعًا لخطأ إعادة توجيه تسجيل الخروج.

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

خطأ في التعليمات البرمجية - خطأ في بناء الجملة

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

تحقق العداد من الكود ويفضل إضافة الكود إلى مدقق أخطاء بناء جملة PHP.

من الأفضل أن تكون معتادًا على أدوات مثل Visual Studio أو IDEs مثل Netbeans لأن هذه الأدوات يمكن أن تساعدك بسرعة في اختيار أخطاء بناء الجملة في التعليمات البرمجية الخاصة بك.

تمت إضافة الرمز إلى ملف خاطئ

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

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

البرنامج المساعد أو موضوع التعارضات

في معظم الحالات ، توجد مكونات إضافية أو سمات تتحكم في إعادة توجيه تسجيل الدخول وتسجيل الخروج في WooCommerce. يمكن أن تتعارض هذه المكونات الإضافية مما يؤدي إلى خطأ إعادة توجيه تسجيل الخروج.

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

البرنامج المساعد Woocommerce Logout Redirect

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

في الأسابيع القليلة الماضية ، جمعت كل خبرتي والدروس المستفادة حول عمليات إعادة التوجيه وتسجيل الخروج من WooCommerce. لقد أنشأت عنوان URL رائعًا لإعادة توجيه تسجيل الخروج من WooCommerce يتألف من الميزات التالية:

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

  • تقوم WooCommerce بإعادة التوجيه بعد تسجيل الخروج إلى أي صفحة - حدد صفحة من القائمة المنسدلة
  • تقوم WooCommerce بإعادة التوجيه بعد تسجيل الخروج إلى أي منتج واحد - حدد منتجًا من القائمة المنسدلة
  • تقوم WooCommerce بإعادة التوجيه بعد تسجيل الخروج إلى أي منشور منفرد - حدد منشورًا من القائمة المنسدلة
  • إعادة توجيه WooCommerce بعد تسجيل الخروج إلى أي فئة منتج - حدد فئة المنتج من القائمة المنسدلة
  • WooCommerce يعيد التوجيه بعد تسجيل الخروج إلى الصفحة الحالية
  • WooCommerce يعيد التوجيه بعد تسجيل الخروج إلى الصفحة السابقة
  • يقوم WooCommerce بإعادة التوجيه بعد تسجيل الخروج إلى عنوان URL خارجي
  • تقوم WooCommerce بإعادة التوجيه بعد تسجيل الخروج بناءً على الدور
  • إعادة توجيه WooCommerce بعد تسجيل الخروج بناءً على سجل الشراء (مناسب للعروض الخاصة)
  • يفرض WooCommerce تسجيل الخروج بعد الخروج

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

  • إعادة توجيه WooCommerce بعد تسجيل الدخول إلى أي صفحة - حدد صفحة من القائمة المنسدلة
  • إعادة توجيه WooCommerce بعد تسجيل الدخول إلى أي منتج واحد - حدد منتجًا من القائمة المنسدلة
  • إعادة توجيه WooCommerce بعد تسجيل الدخول إلى أي منشور فردي - حدد منشورًا من القائمة المنسدلة
  • إعادة توجيه WooCommerce بعد تسجيل الدخول إلى أي فئة منتج - حدد فئة المنتج من القائمة المنسدلة
  • إعادة توجيه WooCommerce بعد تسجيل الدخول إلى الصفحة الحالية
  • إعادة توجيه WooCommerce بعد تسجيل الدخول إلى الصفحة السابقة
  • إعادة توجيه WooCommerce بعد تسجيل الدخول إلى عنوان URL خارجي
  • إعادة توجيه WooCommerce بعد تسجيل الدخول بناءً على الدور
  • إعادة توجيه WooCommerce بعد تسجيل الدخول بناءً على سجل الشراء (مناسب للعروض الخاصة)

من المقرر إطلاق WooCommerce Redirect بعد المكوّن الإضافي لتسجيل الدخول وتسجيل الخروج (WRAL) في الأسابيع القليلة القادمة. إذا كنت ترغب في أن تكون متبنيًا مبكرًا ، فلا تتخلف عن الركب لأن الإطلاق سيأتي بخصم 70٪.

يمكنك الانضمام إلى قائمة أول 100 من المتبنين الأوائل من خلال الاتصال بي على الفور. من المقرر إطلاقه في 2 نوفمبر 2020.

إنشاء إعادة توجيه تسجيل الخروج في WordPress - الوظائف الأساسية

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

يمكن أن تكون هذه الوظائف وخطاف الإجراء مفيدًا لإنشاء إعادة توجيه WooCommerce بعد تسجيل الخروج. بشكل عام ، يمكنك إنشاء إعادة توجيه WooCommerce لتسجيل الخروج باستخدام الروابط والوظيفة التالية:

  • وظيفة wp_logout_url ()
  • ربط عمل wp_logout
  • مرشح logout_redirect

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

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

إعادة توجيه تسجيل الدخول إلى WooCommerce: woocommerce_login_redirect Hook

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

apply_filters( 'woocommerce_login_redirect', $redirect, $user );

كما ترى ، يتطلب الأمر معلمتين وتكون المعلمات على النحو التالي:

معامل وصف أمثلة على الاستخدام
$redirect هذه هي صفحة إعادة التوجيه التي سيصل إليها المستخدم بعد تسجيل الدخول.

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

add_filter('woocommerce_login_redirect', 'login_redirect')

يمكنك إضافة خطاف المرشح وفي وظيفة رد الاتصال يمكنك تمرير منطق إعادة التوجيه على النحو التالي:

function login_redirect($redirect_to){
return home_url();
}

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

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

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

الخطاف: woocommerce_login_redirect لا يعمل

يمكن استخدام هذا الرمز في السمات ورمز البرنامج المساعد ولكنك تحتاج إلى فهم الأولويات لتجنب إطلاق النار مبكرًا أو متأخرًا حيث سيؤدي ذلك إلى السيناريو الشائع لـ woocommerce_login_redirect لا يعمل.

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

لذلك إذا اكتشفت أن woocommerce_login_redirect لا يعمل. ، فإن أول شيء يجب التحقق منه هو الأولوية في مثال حالة قد يكون لديك مقتطفات الشفرة هذه:

# أولوية أقل

add_filter( 'woocommerce_login_redirect', 'njengah_login_redirect', 1100, 2 );

# أولوية أعلى

add_filter( 'woocommerce_login_redirect', 'njengah_login_redirect', 10, 2 );

كما ترى في كلتا الحالتين ، فإن أرقام الأولوية مختلفة ، والقاعدة الأساسية هي أنه كلما قل الرقم زادت الأولوية - مما يعني تحميله أولاً.

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

وظيفة تسجيل الخروج من WordPress - wp_logout_url ()

هذه الوظيفة مسؤولة عن إنشاء عنوان URL لتسجيل الخروج في WordPress.

يساعد المطورين ومستخدمي WordPress على إنشاء عنوان URL لتسجيل الخروج بسرعة يمكن إضافته إلى رابط أو زر وقد أوضحت في هذه المقالة - كيفية إنشاء عنوان URL لتسجيل الخروج من WooCommerce .

تعمل WooCommerce على توسيع الوظائف من خلال الحصول على نقاط نهاية URL التي تلعب دورًا مهمًا في مساعدة المطورين والمستخدمين على إنشاء صفحة تسجيل خروج WooCommerce بدون أي تشفير.

إذا كنت تريد أن تفهم بعمق عملية تسجيل الخروج من WooCommerce و WordPress ، فمن المفيد أن تبدأ بتقييم وظيفة wp_logout_url() .

إنها وظيفة خاصة ستصادفها في العديد من سمات WordPress والإضافات وهي فكرة جيدة للحصول على لمحة عما يحدث تحت الغطاء.

الاستخدام الأساسي للوظيفة كما يلي:

wp_logout_url( string $redirect = '' )

كما ترى ، تأخذ الوظيفة معلمة واحدة وهي سلسلة وفيما يلي تفاصيل المعلمة:

معامل وصف أمثلة على الاستخدام
$redirect هذه معلمة سلسلة وهي اختيارية لإضافتها ، يمكنك تركها فارغة وستعمل الوظيفة.

ومع ذلك ، يكون مفيدًا في الحالة التي تريد فيها إضافة عنوان URL لإعادة التوجيه إلى صفحة معينة.

لذا في هذه الحالة ، تكون معلمة $redirect هي عنوان URL لصفحة إعادة التوجيه ، وهي الوجهة التي يجب أن يهبط إليها جميع المستخدمين الذين يستخدمون هذه الوظيفة في هذا السياق.

يمكنك أيضًا تمرير وظائف أخرى كمعلمات تقوم بإرجاع سلسلة بشكل صارم لأن wp_logout_url() يأخذ سلسلة فقط كمعامل.

يمكنك استخدام هذه الوظيفة مع ارتباط كما يلي:

<a href="<?php echo wp_logout_url(); ?>">Logout</a>

يمكنك استخدام هذه الوظيفة وتمرير وظيفة أخرى كمعلمة تقوم بإرجاع سلسلة من عنوان URL لإعادة التوجيه على النحو التالي:

<a href="<?php echo wp_logout_url( home_url() ); ?>">Logout</a>

<a href="<?php echo wp_logout_url( get_permalink() ); ?>">Logout</a>

إذا كنت ترغب في فهم الوظيفة بشكل أكبر ، فمن المفيد إلقاء نظرة على الكود المحدد في نواة WordPress. رمز الوظيفة الأساسية هذا هو كما يلي:

 الوظيفة wp_logout_url ($ redirect = '') {
    $ args = مجموعة () ؛
    إذا (! فارغ ($ redirect)) {
        $ args ['redirect_to'] = urlencode ($ redirect) ؛
    }
 
    $ logout_url = add_query_arg ($ args، site_url ('wp-login.php؟ action = logout'، 'login')) ؛
    $ logout_url = wp_nonce_url ($ logout_url، "تسجيل الخروج")؛
 
    / **
     * يقوم بتصفية عنوان URL لتسجيل الخروج.
     *
     * منذ 2.8.0
     *
     *param string $ logout_url عنوان URL لتسجيل الخروج بترميز HTML.
     *param string $ أعد توجيه المسار لإعادة التوجيه إليه عند تسجيل الخروج.
     * /
    return application_filters ('logout_url' ، $ logout_url ، $ redirect) ؛
}

خطاف العمل: wp_logout

هذا هو الإجراء الذي يتم تشغيله عند تسجيل خروج المستخدم. تلعب دورًا مهمًا في إنشاء وظيفة إعادة التوجيه بعد تسجيل الخروج ، والاستخدام الأساسي لهذه الوظيفة هو كما يلي:

do_action( 'wp_logout', int $user_id )

كما ترى ، تأخذ معلمة واحدة وتفاصيل المعلمة كما يلي:

معامل وصف أمثلة على الاستخدام
$user_id هذا هو معرف المستخدم الذي تم تسجيل الخروج. add_action('wp_logout','logout_redirect');

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

function logout_redirect(){

wp_redirect( home_url() );

exit;

}

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

هذه الوظائف مفيدة عندما تريد التحكم في إعادة توجيه المستخدم بعد تسجيل الدخول أو تسجيل الخروج.

ربط عامل تصفية WordPress logout_redirect

أداة ربط عامل التصفية الأخرى التي يمكنك استخدامها لإنشاء إعادة توجيه بعد تسجيل الخروج في WooCommerce هي خطاف المرشح logout_redirect. يعمل خطاف المرشح هذا مثل وظيفة wp_logout_url() أو ربط الإجراء wp_logout.

إنه مرشح WordPress أساسي مصمم للمساعدة في إنشاء إعادة توجيه WordPress أو WooCommerce بعد تسجيل الخروج. استخدامه الأساسي هو كما يلي:

apply_filters( 'logout_redirect', string $redirect_to, string $requested_redirect_to, WP_User $user )

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

معامل وصف
$redirect_to هذا هو عنوان URL المقصود لإعادة التوجيه ويجب أن يكون سلسلة ، على سبيل المثال ، http://example.com
$requested_redirect_to هذا هو عنوان URL المقصود لإعادة التوجيه المطلوب والذي يتم تمريره كمعامل ويجب أن يكون أيضًا سلسلة تمامًا مثل المعلمة الأولى.
$user هذا هو كائن المستخدم - كائن WP_User للمستخدم الذي تم تسجيل الخروج منه.

يمكنك إنشاء إعادة توجيه WordPress على أساس عامل التصفية بعد تسجيل الخروج باستخدام logout_redirect على النحو التالي:

 add_filter ('login_redirect'، 'njengah_logout_redirect'، 10، 3) ؛

وظيفة njengah_logout_redirect (موقع $ ، طلب $ ، مستخدم $) {

  مستخدم $ عالمي؛

if (isset ($ user-> tools) && is_array ($ user-> tools)) {

   إذا (in_array ('subscriber'، $ user-> tools)) {

       return home_url () ،

          } آخر {

        إرجاع $ redirect_to؛

      }

    }

   إرجاع؛

}

WordPress Filter Hook login_redirect

من المهم أيضًا الإشارة إلى وجود عامل تصفية مماثل لتسجيل الدخول - login_redirect يعمل بنفس طريقة عامل تصفية logout_redirect. في الواقع ، الاستخدام مشابه ويأتي مع 3 معاملات والتعبير العام هو كما يلي:

apply_filters( 'login_redirect', string $redirect_to, string $requested_redirect_to, WP_User|WP_Error $user )

The parameters are similar expect the last parameter that has two user object options as you will see in the detailed description below:

معامل وصف
$redirect_to This is the redirect destination URL and it must be a string, for example, http://example.com
$requested_redirect_to This is the requested redirect destination URL that is passed as a parameter and it must also be a string just like the first parameter.
$user This is the user object – WP_User object of the user who has been logged in if the login was successful but for unsuccessful login the WP_Error object is represented by this parameter

As you can see there are several ways you can use to create a WordPress or WooCommerce logout redirect.

In a quick summary we have highlighted the three most important hooks you should consider using for creating the redirect after logout. These hooks include:

  • Default WordPress logout_redirect – using filter to create redirect after logout
  • Action hook wp_logout – fired after the logout and thus can be used to create redirect.
  • WordPress logout function wp_logout_url() – WordPress default function that retrieves the logout URL and this can be useful in adding a redirect since it takes one parameter for the redirect path.

WooCommerce Multisite Redirect After Logout

When you are creating a redirect after logout in WooCommerce the wp_logout hook may fail to work when you have a multisite. In this case you need a little creativity to control how to create the WooCommerce redirect after logout.

In fact in a multisite set up WordPress logout function requires you to filter the allowed URLs for redirect and this can easily be executed using the allowed_redirect_hosts filter.

It helps to understand how this filter hook works so that you can use it in the WooCommerce multisite redirect after checkout. So let's briefly look at this filter.

Filter Hook: allowed_redirect_hosts

This is a filter hook that filters all the allowed hosts to apply redirect to. So in simple terms it checks the redirect URLs and vets them. The basic usage of this filter is as follows:

apply_filters( 'allowed_redirect_hosts', string[] $hosts, string $host )

As you can see in the expression above, it takes two parameter and they can be explained in details as follows:

معامل وصف Usage Example(s)
$hosts (string[]) This is simply an array with all the allowed host names add_filter( 'allowed_redirect_hosts', 'njengah_allow_parent_redirect' );

function njengah_allow_parent_redirect( $allowed ) {

$allowed[] = 'example.com'; // Multisite parent

return $allowed;

}

<a href="<?php echo wp_logout_url( 'http://example.com' ); ?>">Logout</a>

$host (string) This is the host name of the redirect destination.

This can be left empty.

You can add more hosts to the callback function and come up with code like this:

add_filter ('allowed_redirect_hosts'، 'njengah_allow_parent_redirect') ،

دالة njengah_allow_parent_redirect ($ مسموح بها) {
    $ المسموح بها = مجموعة (
    "blog.example.com" ،
    "codex.example.com" ،
     ) ؛
    إرجاع array_merge (المضيفات $ ، $ المسموح بها) ؛
}

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

وظيفة إعادة توجيه WordPress: wp_ Redirect

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

يعد فهم دور هذه الوظيفة أمرًا بالغ الأهمية في إنشاء إعادة توجيه WooCommerce بعد الخروج لأنها الوظيفة الأساسية المسؤولة عن تنفيذ عمليات إعادة التوجيه في WordPress و WooCommerce. دعونا نحدد بإيجاز كيف يعمل والمعلمة التي يتطلبها. الاستخدام العام لوظيفة wp_redirect () كما يلي:

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

كما ترى ، تأخذ هذه الوظيفة ثلاث معاملات ويمكن وصفها بالتفصيل على النحو التالي:

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

ملحوظة

من المهم أن تفهم أنه عند استخدامك لوظيفة wp_redirect () ، لا يخرج tit من تلقاء نفسه. لذلك من المهم دائمًا إضافة exit بعد الوظيفة نظرًا لاستخدام الخروج في PHP لإنهاء البرنامج النصي الجاري تشغيله بعد تنفيذ السطر السابق من التعليمات البرمجية. لذا فإن أفضل طريقة لاستخدام وظيفة wp_redirect هي كما يلي:

 wp_redirect ($ url) ؛

خروج

يمكنك أيضًا إنشاء إعادة توجيه شرطي باستخدام وظيفة wp_redirect مع if statement كما يلي:

 إذا (wp_redirect ($ url)) {

   خروج؛

}

يمكن استخدام هذه الوظيفة مع ربط template_redirect كما في الكود أدناه:

 الوظيفة njengah_wp_redirect_example () {

    إذا (is_user_logged_in () && is_page ($ id)) {

        wp_redirect (get_permalink ($ id)) ؛

        خروج؛

    }

}

add_action ('template_redirect'، 'njengah_wp_redirect_example') ؛

كما ترى في الكود أعلاه ، يمكن أن تأخذ وظيفة كمعامل بشرط أن تقوم الوظيفة بإرجاع سلسلة لمعامل موقع $ كما هو الحال مع get_permalink( )

وظيفة إعادة توجيه WordPress: wp_safe_redirect ()

wp_safe_redirect() هي وظيفة إعادة توجيه WordPress الثانية التي قد تكون مفيدة لتنفيذ إعادة توجيه WooCommerce بعد تسجيل الخروج. تعمل هذه الوظيفة مثل وظيفة wp_redirect() ولكنها تحتوي على تحقق إضافي من عنوان URL لإعادة التوجيه.

في وظيفة wp_redirect ، لم يتم التحقق من معلمة الموقع $ ولكن في وظيفة wp_safe_redirect() ، يتم التحقق من معلمة $location للتأكد مما إذا كان مضيفًا مسموحًا به.

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

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

كما ترى المعلمات هي نفسها:

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

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

تمامًا مثل وظيفة wp_redirect ، لا يتم إنهاء wp_safe_redirect تلقائيًا ويتطلب منك أيضًا إضافة مخرج كما في مقتطفات الشفرة أدناه:

 wp_safe_redirect ($ url) ؛

خروج؛

يمكنك أيضًا استخدامه مع العبارة الشرطية كما في المثال السابق:

 إذا (wp_safe_redirect ($ url)) {

    خروج؛

}

استنتاج

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

في ملخص سريع لتلخيص ما غطينا ؛ كيفية إنشاء إعادة التوجيه بعد تسجيل الخروج إلى:

  • إعادة توجيه خروج الصفحة الحالية
  • إعادة توجيه تسجيل الخروج من الصفحة السابقة
  • إعادة توجيه الخروج من الصفحة الرئيسية
  • إعادة توجيه تسجيل الخروج لصفحة معينة
  • إعادة توجيه الخروج من عنوان URL الخارجي

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

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

أفضل قوائم ملحقات WooCommerce