في هذه التدوينة سنرى طريقة إعادة توجيه المستخدمين إلى صفحات مختلفة عند تسجيل الدخول حسب رتبة المستخدم أو إسمه.
في المثالين سنستعمل فيلتر
login_redirect الذي يصلح تحديداً لتغيير المسار عند
تسجيل الدخول في ووردبريس.
إعادة توجيه المستخدمين حسب الرتب.
إذا كنت تريد إرسال مديرين, محررين, كتَّاب, مشتركين… إلى صفحات محددة من قبلك (كل واحد إلى صفحة مختلفة) فقط عليك إضافة هذا الكود إلى ملف functions.php او إلى
إضافتك المخصصة.
04 | function saidweb2_com_custom_login_redirect( $redirect_to , $request , $user ) { |
06 | if ( isset( $user ->roles ) && is_array ( $user ->roles ) ) { |
10 | if ( in_array( 'administrator' , $user ->roles ) ) |
11 | return home_url( '/wp-admin/plugins.php' ); |
15 | elseif ( in_array( 'editor' , $user ->roles ) ) |
16 | return home_url( '/wp-admin/edit.php' ); |
27 | add_filter( 'login_redirect' , 'saidweb2_com_custom_login_redirect' , 10, 3 ); |
إعادة توجيه المستخدمين حسب إسم المستخدم.
إذا كنت تريد إعادة توجيه المستخدم حسب إسمه (المستعمل في تسجيل الدخول) تحديداً و ليس حسب رتبته, في الأول عليك تحديد إلى أي صفحة سيتم إرسال كل واحد.
مثلا, في موقع شركة يستعمل ووردبريس, قد يكون من المفيد توجيه مستخدمين معيَّنين إلى صفحات مخصصة تتضمن معلومات حول القسم الذي يهتم به كل واحد عوض الذهاب إلى الصفحة الرئيسية للوحة التحكم.
04 | function saidweb2_com_custom_login_redirect( $redirect_to , $request , $user ) { |
10 | $userredirect = esc_attr( $user ->user_login); |
14 | if ( $userredirect === 'admin' ) |
19 | elseif ( $userredirect === 'said' ) |
20 | return home_url( '/users/said/' ); |
24 | elseif ( $userredirect === 'mohammed' ) |
25 | return home_url( '/users/mohammed/' ); |
33 | add_filter( 'login_redirect' , 'saidweb2_com_custom_login_redirect' , 10, 3); |
في هذا الكود يجب تغيير أسماء المستخدمين (admin, said,mohammed) و كذلك روابط الصفحات التي يتم إعادة التوجيه إليها.
بعد ذلك من الواجب
وضع رابط لصفحة تسجيل الدخول wp-login.php
في مكان ما من الموقع ليتمكن المستخدمون من الدخول, أو إضافة نمودج تسجيل الدخول بواسطة
wp_login_form().
هذه الوضيفة تقوم بإنشاء نمودج تسجيل الدخول (login form) بسيط لكي يستعمل في أي مكان من الموقع, يمكننا وضعه فيsidebar.php
مثلاً و إعطائه تنسق معيّن عن طريق css.
1 | <?php wp_login_form(); ?> |
إعادة توجيه المستخدمين بواسطة إضافة.
ليست هناك تعليقات:
إرسال تعليق