لقد رأينا بالفعل كيفية تعيين عنوان URL مخصص لإعادة توجيه تسجيل الدخول إلى حسابي حسب دور المستخدم – ولكننا نريد اليوم تغطية سيناريو حالة آخر: إعادة توجيه المستخدمين إلى عنوان URL السابق ( المرجع ) بعد تسجيل الدخول من صفحة حسابي.
في الواقع ، يقوم WooCommerce بالفعل بطباعة حقل إدخال مخفي (” _wp_http_referer “) في نموذج تسجيل الدخول بفضل wp_nonce_field () ، ولكن لسبب ما لا يكفي ذلك للسماح بإعادة التوجيه الفعلية.
لحسن الحظ ، توفر وظيفة WooCommerce process_login () حلاً آخر: إذا تم تعيين $ _POST [‘redirect’] ، فسوف يفكر النموذج في إعادة التوجيه إلى عنوان URL هذا بدلاً من لوحة معلومات حسابي الافتراضية! هذا يعني أنه يمكننا ببساطة إضافة حقل مخفي جديد إلى نموذج تسجيل الدخول بهذا الاسم الدقيق (“إعادة التوجيه”) ، حتى نتمكن من تشغيل هذه الوظيفة لإعادة التوجيه التي نريدها.
ترميز أسهل مما يُقال ، لذلك دعونا نرى كيف يتم ذلك. يتمتع!
باستخدام المقتطف الذي تجده أدناه ، قمت بإضافة حقل إدخال مخفي إلى نموذج تسجيل الدخول إلى WooCommerce My Account بالاسم = “إعادة التوجيه”. يتم ملء قيمة الإدخال بعنوان URL الذي تمت زيارته مسبقًا وسيكون هذا هو عنوان URL الذي سيعيد توجيه نموذج تسجيل الدخول إليه عند تسجيل الدخول بنجاح.
مقتطف PHP: إعادة توجيه المستخدمين إلى عنوان URL السابق (المُحيل)
/**
* @snippet Redirect to Referrer @ WooCommerce My Account Login
* @how-to Get CustomizeWoo.com FREE
* @author Rodolfo Melogli, BusinessBloomer.com
* @testedwith WooCommerce 4.6
* @donate $9 https://businessbloomer.com/bloomer-armada/
*/
add_action( 'woocommerce_login_form_end', 'bbloomer_actual_referrer' );
function bbloomer_actual_referrer() {
if ( ! wc_get_raw_referer() ) return;
echo '<input type="hidden" name="redirect" value="' . wp_validate_redirect( wc_get_raw_referer(), wc_get_page_permalink( 'myaccount' ) ) . '" />';
}
المنشورات ذات الصلة:
WooCommerce: إعادة توجيه تسجيل الدخول بواسطة User Role @ My Account
WooCommerce: صفحات منفصلة لتسجيل الدخول والتسجيل
WooCommerce: أضف علامة تبويب جديدة @ صفحة حسابي
WooCommerce: أضف الاسم الأول والأخير إلى نموذج تسجيل حسابي
WooCommerce: إخفاء أو إعادة تسمية علامة التبويب حسابي
WooCommerce: كيفية دمج علامات تبويب حسابي
WooCommerce: أضف الموافقة على سياسة الخصوصية @ تسجيل حسابي
WooCommerce: السماح للمستخدمين بتعديل أوامر المعالجة
WooCommerce: إعادة توجيه صفحة منتج واحد للعملاء المسجلين
WooCommerce: أعد تسمية “حسابي” إذا تم تسجيل الخروج في قائمة التنقل @
أين تضيف هذا المقتطف؟
يمكنك وضع مقتطفات PHP في الجزء السفلي من ملف function.php القالب الفرعي الخاص بك (احذف “؟>” إذا كان لديك هناك). من ناحية أخرى ، ينتقل CSS في ملف style.css الخاص بسمة الطفل. تأكد من أنك تعرف ما تفعله عند تحرير مثل هذه الملفات – إذا كنت بحاجة إلى مزيد من الإرشادات ، فيرجى إلقاء نظرة على الفيديو التعليمي المجاني الخاص بي “أين تضع تخصيص WooCommerce؟”
هل هذا المقتطف (لا يزال) يعمل؟
يرجى إعلامي في التعليقات إذا كان كل شيء يعمل كما هو متوقع. يسعدني مراجعة المقتطف إذا أبلغت بخلاف ذلك (يرجى تقديم لقطات شاشة). لقد اختبرت هذا الكود مع موضوع Storefront وإصدار WooCommerce المذكور أعلاه واستضافة صديقة لـ وورد بريس على PHP 7.3.
إذا كنت تعتقد أن هذا الرمز وفر لك الوقت والمال ، فلا تتردد في الانضمام إلى أكثر من 14000 مشترك في WooCommerce Weekly للحصول على تحديثات منشورات المدونة أو أكثر من 250 من مؤيدي Business Bloomer لمدة 365 يومًا من مزايا WooCommerce . شكرا لكم مقدما 🙂
هل تحتاج إلى مساعدة في WooCommerce؟
تحقق من دروس الفيديو المجانية هذه. يمكنك تعلم كيفية تخصيص WooCommerce بدون مكونات إضافية غير ضرورية ، وكيفية تكوين إعدادات البرنامج المساعد WooCommerce بشكل صحيح وحتى كيفية إتقان استكشاف أخطاء WooCommerce في حالة حدوث خطأ!

