برومبت لبناء دالة تعديل عناوين الووردبريس تلقائياً
أنشئ لي دالة ووردبريس PHP تقوم بتعديل عناوين المنشورات تلقائياً بناءً على شورتكود مخصص.
## المتطلبات الأساسية:
- الدالة يجب أن تعدل كل من:
* عنوان المنشور المعروض في المحتوى (the_title)
* عنوان الـ SEO في وسم <title> (document_title)
- التعرف التلقائي على وجود شورتكود [time_calculator_pro] في محتوى المنشور
- استخراج السمات من الشورتكود وتوليد عناوين SEO محسنة
- إمكانية تعطيل النظام عبر سمة title="false"
## السمات المدعومة في الشورتكود:
- period: الرقم (مثال: 45)
- unit: الوحدة (days, weeks, months)
- direction: الاتجاه (before, after)
- base_date: التاريخ الأساسي (اختياري)
- newtitle: عنوان مخصص للحدث (اختياري)
- title: التحكم بتعديل العنوان (true/false)
## آلية عمل الدالة:
1. التحقق من أننا في منشور/صفحة فردية وفي الاستعلام الرئيسي
2. البحث عن شورتكود [time_calculator_pro] في محتوى المنشور
3. استخراج السمات باستخدام التعابير النمطية
4. التحقق من عدم تعطيل النظام (title≠"false")
5. توليد عنوان SEO بناءً على السمات المستخرجة
6. تطبيق العنوان على:
- عنوان المنشور في المحتوى
- عنوان الـ SEO في وسم <title>
## أمثلة العناوين المتوقعة:
- مع newtitle: "What Day Was It 45 Days Before My Event?"
- مع base_date: "What Day Was It 6 Months Before January 15, 2024?"
- بدون تاريخ: "What Day Was It 2 Weeks Ago?"
- مستقبلي: "What Day Is It 3 Months From Now?"
## التوافق والفلاتر المطلوبة:
- العمل مع مختلف قوالب الووردبريس
- دعم ذاكرة التخزين المؤقت
- التوافق مع إضافات SEO
- استخدام الأولوية (priority) المناسبة
## هيكل الدالة الأساسي:
- دالة رئيسية لتعديل the_title
- دالة منفصلة لتعديل document_title
- ربط بالفلاتر المناسبة بأولويات عالية
- معالجة الأخطاء وعودة للعنوان الأصلي عند الفشل
## التعامل مع الحالات الخاصة:
- عدم وجود سمات مطلوبة
- تنسيق تاريخ غير صحيح
- منشورات بدون شورتكود
- صفحات أرشيف ومتعددة
أنشئ الكود كاملاً وجاهزاً للنسخ واللصق في ملف plugin PHP، مع شرح موجز للتركيبة.
Comments
Post a Comment