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

نشرت: 2018-08-08

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

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

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

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

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

لإعادة توجيه المستخدمين بناءً على أدوارهم ، اتبع الخطوات التالية:

  1. افتح ملف jobs.php
  2. انسخ والصق الكود التالي:
 الوظيفة my_login_redirect ($ url ، $ request ، 
$ user) {if ($ user && is_object ($ user) && 
is_a (مستخدم $، 'WP_User')) {
إذا كان ($ user-> has_cap ("مسؤول") أو 
$ user-> has_cap ('author')) {
$ url = admin_url () ،
} آخر {
$ url = home_url ('/ صفحة مخصصة /') ؛
}
}
العودة $ url؛
}
add_filter ('login_redirect'، 
"my_login_redirect" ، 10 ، 3) ؛
  1. احفظ التغييرات

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

يمكنك بسهولة تغيير عناوين المواقع عن طريق تغيير المتغير $ رابط بتاريخ 4 و 6 تشرين خط وبالتالي يؤدي المستخدمين من أي وظيفة / الصفحات التي خلقنا لهم.

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

 إذا ($ user-> has_cap ('المسؤول')) {

بدلاً من إزالة المؤلفين ، يمكنك إضافة أدوار أخرى أيضًا ؛ الأمر متروك لك لتقرر من سينتهي به الأمر في أي صفحة.

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

أعد توجيه المستخدمين بعد تسجيل الدخول باستخدام المكون الإضافي Peter's Login Redirect

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

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

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

على الرغم من وجود إضافات WordPress غير معدودة مصممة للقيام بنفس الشيء ، فقد اخترنا إعادة توجيه تسجيل دخول Peter لهذا الجزء من المقالة.

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

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

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

إذا كنت بحاجة إلى إدارة عمليات إعادة توجيه تسجيل الدخول والخروج والتسجيل ، فإن إعادة توجيه تسجيل دخول Peter ستوفر لك عمليًا كل ما تحتاجه. أوه ، نعم ، هل ذكرنا أن البرنامج المساعد مجاني؟ يمكنك الحصول عليه من مستودع البرنامج المساعد WordPress وتثبيته في ثوانٍ وبعد ذلك كل ما عليك فعله هو الانتقال إلى الإعدادات -> إعادة توجيه تسجيل الدخول / تسجيل الخروج .

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

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

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

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

  1. افتح ملف jobs.php
  2. انسخ والصق الكود التالي:
 add_action ('wp_logout'، 'auto_redirect_after_logout') ؛
وظيفة auto_redirect_after_logout () {
wp_redirect (home_url ()) ؛
خروج()؛
}
  1. احفظ التغييرات
  2. قم بتسجيل الخروج واستمتع بصفحتك الرئيسية الجميلة

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

 add_action ('wp_logout'، 'auto_redirect_after_logout') ؛
وظيفة auto_redirect_after_logout () {
wp_redirect ('http://www.firstsiteguide.com') ؛
خروج()؛
}

إذا كنت تريد أن تفعل المزيد باستخدام وظيفة wp_redirect ، فيمكنك معرفة المزيد عنها في صفحات WordPress Codex.

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

السعر: مجاني

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


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

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

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

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

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

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

أعد توجيه المستخدم بعد تقديم تعليق:

  1. افتح ملف jobs.php
  2. انسخ هذا الرمز والصقه في الملف:
 وظيفة redirect_after_comment () {
wp_redirect ('/ thank-you /') ؛
خروج()؛
}
add_filter ('comment_post_redirect'، 
"redirect_after_comment") ؛
  1. قم بتغيير اسم الصفحة في السطر الثاني
  2. احفظ التغييرات

هذا كل شيء. يمكنك الآن المضي قدما واختبار الوظيفة. افتح أي من مشاركاتك واترك تعليقًا. إذا كنت قد فعلت كل شيء بشكل صحيح ، فيجب أن ينتهي بك الأمر في http: /www.yoursite.com/thank-you الصفحة أو الصفحة المحددة في السطر الثاني من التعليمات البرمجية الخاصة بك.

صفحة شكرا لك

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

بينما توفر هذه الوظيفة طريقة سهلة وسريعة لإعادة توجيه المستخدمين بعد تركهم تعليقًا ، فقد تكون مهتمًا بمكوِّن إضافي يمنحك بعض الميزات الإضافية.

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

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

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

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

دعونا نرى كيفية القيام بذلك:

  1. افتح function.php
  2. انسخ هذا الرمز والصقه في نهاية الملف:
 add_action ('template_redirect'، 
'redirect_search_result) ؛
وظيفة redirect_search_result () {
إذا (is_search ()) {
wp_query $ العالمية ؛
إذا ($ wp_query-> post_count == 1 && 
$ wp_query-> max_num_pages == 1) {
wp_redirect (get_permalink ( 
$ wp_query-> المشاركات ['0'] -> ID)) ؛
خروج؛
}
}
}
  1. احفظ التغييرات

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

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

أعد توجيه المستخدمين عندما يتم العثور على منشور واحد فقط في إحدى الفئات

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

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

  1. افتح ملف jobs.php
  2. انسخ والصق الكود التالي:
 وظيفة redirect_to_post () {
wp_query $ العالمية ؛
إذا (is_archive () && $ wp_query-> post_count == 1) {
المنشور()؛
$ post_url = get_permalink () ؛
wp_redirect ($ post_url) ؛
}
} add_action ('template_redirect'، 'redirect_to_post') ؛
  1. احفظ التغييرات

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

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

 وظيفة redirect_to_post () {
wp_query $ العالمية ؛
إذا (is_archive () && $ wp_query-> post_count == 1) {
المنشور()؛
$ post_url = get_permalink () ؛
wp_redirect ($ post_url) ؛
}
صدى صوت "نظرًا لوجود نتيجة واحدة فقط ، 
لقد تم إعادة توجيهك إلى هذا المنشور / الصفحة! "؛
}
add_action ('template_redirect'، 'redirect_to_post') ؛

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

أعد توجيه المستخدمين إلى صفحة عشوائية في WordPress

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

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

هيا بنا نبدأ:

  1. تحتاج أولاً إلى إعداد رابط إعادة التوجيه الخاص بك. افتح ملف jobs.php الخاص بك
  2. انسخ والصق الكود التالي:
 add_action ('init'، 'random_add_rewrite') ؛
وظيفة random_add_rewrite () {
العالمية $ wp؛
$ wp-> add_query_var ('عشوائي') ؛
add_rewrite_rule ('عشوائي /؟
  1. احفظ التغييرات
  2. انتقل إلى www.yourdomain.com/؟random=1

، 'index.php؟ random = 1'، 'top') ؛ } add_action ('template_redirect'، 'random_template') ؛ الدالة random_template () {if (get_query_var ('random') == 1) {$ posts = get_posts ('post_type = post & orderby = rand & numberposts = 1') ؛ foreach (منشورات $ كـ $ post) {$ link = get_permalink ($ post)؛ } wp_redirect ($ link، 307) ؛ خروج؛ }}

بعد ذلك ، تكون جاهزًا لإنشاء الارتباط / الزر الخاص بك. كل ما عليك فعله هو الارتباط بـ http://www.yourdomain.com/؟random=1 وفي كل مرة يفتح فيها المستخدم الصفحة ، سيتم إعادة توجيهه إلى صفحة عشوائية. استمتع بميزتك الجديدة.

إعادة توجيهك إلى الاستنتاج

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

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