كيفية عرض الشريط الجانبي وورد على المواقع غير وورد
أثناء العمل على أحدث مشروع لدي ، مناقشات DevGrow ، صادفت الحاجة لذلك قم بتضمين الشريط الجانبي WordPress بالكامل على موقع بخلاف WordPress - على وجه التحديد منتدى bbPress. نظرًا لأنني أستخدم العديد من التطبيقات المصغّرة لعرض المنشورات الشائعة والمحتوى الديناميكي الآخر ، فلن يكفي مجرد نسخ ولصق HTML. في النهاية ، هناك بالفعل طريقتان فقط للقيام بذلك:
- تشمل الخاص بك الفسفور الابيض بين load.php ملف في التطبيق الخاص بك وفي الواقع تحميل مجمل ووردبريس للوصول إلى وظائف البرنامج المساعد
- استخدم التخزين المؤقت البسيط لتخزين الشريط الجانبي بتنسيق HTML وإدراجه في أي تطبيق آخر ، ثم إعادة بنائه عند الضرورة عند نشر محتوى جديد
إذا لم يكن الأمر واضحًا بدرجة كافية ، فسيكون الخيار الأول مكلفًا للغاية من حيث استعلامات قاعدة البيانات ويمكن أن يبطئ موقعك بدرجة كبيرة. يتطلب الخيار الثاني القليل من الجهد في التنفيذ ولكن الأداء من الحكمة لا توجد منافسة.
التخزين المؤقت وورد الخاص بك الشريط الجانبي
قبل أن نتمكن من كتابة وظيفتنا ، نحتاج أن نفهم بالضبط ما نحاول القيام به. هدفنا هو مخبأ الشريط الجانبي لدينا إلى ملف نصي و تحديث ذاكرة التخزين المؤقت هذه عندما ننشر منشورًا, تغيير موضوعنا أو إجراء تغييرات على الحاجيات الشريط الجانبي. نظرًا لأننا نخطط لاستخدام ذاكرة التخزين المؤقت الخاصة بنا لعرض الشريط الجانبي على تطبيق مختلف ، فنحن بحاجة إلى أن نكون قادرين على حذف ذاكرة التخزين المؤقت بسهولة دون أي تأثيرات ضارة (لا نريد كسر شريطنا الجانبي في أي وقت).
لإنجاز هذا بكفاءة ، سنقوم أيضًا إنشاء سجل من الملفات المخزنة مؤقتا لدينا و استخدم ذلك لتحديد ما إذا كان يجب مسح ذاكرة التخزين المؤقت. إذا كان الأمر كذلك ، فستتم الكتابة فوق ملف التخزين المؤقت الفعلي في المرة التالية التي يزور فيها شخص موقع WordPress ، مما يضمن دائمًا تقديم شريط جانبي مناسب في كلا التطبيقين.
خلق وظائف
للبدء ، افتح المظهر الخاص بك functions.php ملف وإضافة الوظائف التالية إليها:
function cache (مهمة $ ، $ cacheFile ، $ cacheTime = 21600) global $ cache؛ // تكوين الملفات والدلائل: $ cacheDir = TEMPLATEPATH. "/ cache"؛ $ cacheFileName = $ cacheDir. "/ cache- $ cacheFile.txt"؛ $ cacheLogFile = $ cacheDir. "/ cache-log.txt"؛ // اصنع دليل cache إذا لم يكن موجودًا إذا (! is_dir ($ cacheDir)) mkdir ($ cacheDir، 0755)؛ / / قم بعمل سجل لملفات ذاكرة التخزين المؤقت بحالتها الحالية إذا (file_exists ($ cacheLogFile)) $ cacheLog = غير مُسلسل (file_get_contents ($ cacheLogFile)) ؛ آخر $ cacheLog = array ()؛ إذا كان ($ task == 'start') // في حالة وجود ذاكرة تخزين مؤقت ، عمره أقل من 6 ساعات ولم يكن في قائمة انتظار الحذف ، احتفظ بها - وإلا أعد إنشاء ذاكرة التخزين المؤقت إذا (file_exists ($ cacheFileName) && (time () - filemtime ($ cacheFileName)) < $cacheTime && $cacheLog[$cacheFile] == 1) $cache = false; else $cache = true; ob_start(); elseif($task == 'end' && $cache) // If caching, save file contents and update log file_put_contents($cacheFileName,ob_get_contents()); ob_end_flush(); $cacheLog[$cacheFile] = 1; file_put_contents($cacheLogFile,serialize($cacheLog)); elseif($task == 'purge') // Set cache to delete and update log $cacheLog[$cacheFile] = 0; file_put_contents($cacheLogFile,serialize($cacheLog)); function cache_purge() $cacheDir = TEMPLATEPATH."/cache"; $cacheLogFile = $cacheDir."/cache-log.txt"; if(file_exists($cacheLogFile)) $cacheLog = unserialize(file_get_contents($cacheLogFile)); else $cacheLog = array(); foreach($cacheLog as $key=>$ value) $ cacheLog [$ key] = 0؛ file_put_contents ($ cacheLogFile، تسلسل ($ cacheLog))؛
هذه الوظيفة الأولى, مخبأ, هو مفتاح الحصول على ذاكرة التخزين المؤقت لدينا للعمل. بناءً على المكان الذي تتصل به في الملف الخاص بك ، ستقوم الوظيفة بإعداد الملفات والدلائل الصحيحة ، والتحقق من الحاجة إلى إنشاء ذاكرة تخزين مؤقت ، وإذا كان الأمر كذلك ، فستقوم بحفظ الإخراج وتحديث سجل ذاكرة التخزين المؤقت. تستخدم الوظيفة التخزين المؤقت لمخرجات PHP لحفظ أي HTML تم إنشاؤه في ملف نصي.
تُستخدم الوظيفة الثانية لتطهير جميع ملفات ذاكرة التخزين المؤقت وهي مفيدة للإضافة إلى خطافات WordPress الحالية. من خلاله ، يمكننا أن نجعله حتى يتم مسح ذاكرة التخزين المؤقت الخاصة بنا في كل مرة يتم فيها تحديث موضوعنا ، أو يتم حفظ منشور أو يتم تحديث عناصر واجهة الشريط الجانبي لدينا بإضافة ما يلي في نهاية functions.php:
add_action ('switch_theme'، 'cache_purge'، 10)؛ add_action ('publish_post' ، 'cache_purge' ، 10) ؛ add_filter ('widget_update_callback' ، 'cache_purge' ، 10) ؛
للحصول على قائمة كاملة من السنانير ، تحقق من مرجع API WordPress Plugin.
تكوين الشريط الجانبي الخاص بك
الآن بعد أن أصبحت لديك الوظائف جاهزة ، يمكنك البدء في التخزين المؤقت للشريط الجانبي. فتح الخاص بك sidebar.php وأضف هذا السطر إلى بداية الملف:
ستبدأ هذه الوظيفة في التخزين المؤقت للشريط الجانبي الذي تحتاجه ، وإلا فإنها لن تفعل شيئًا. بسبب الطريقة التي تعمل بها وظيفة التخزين المؤقت لمخرجات PHP ، نحتاج أيضًا إلى إغلاق المخزن المؤقت في نهاية الملف أيضًا. أضف هذا السطر إلى أسفل نفس الملف:
بعد إضافة هذين الخطين ، قم بتحديث مدونتك. لن ترى أي شيء في المتصفح الخاص بك ولكن تحقق من /مخبأ الدليل في مجلد السمة الخاصة بك ويجب أن تشاهد الملفين بدءا مخبأ-.
باستخدام ذاكرة التخزين المؤقت الخاصة بك
الآن وبعد أن قمت بإنشاء ملف ذاكرة التخزين المؤقت ، يمكنك استخدامه في أي تطبيق يمكنه الوصول إليه. يمكنك بسهولة القيام بذلك باستخدام include_once وظيفة ولكن أود أيضا التأكد من وجود الملف ، فقط لتكون آمنة:
فقط تأكد من التحقق من صحة مسار ملفك. إذا كنت ترغب في تعيين ذاكرة التخزين المؤقت لحذفها من تطبيق خارجي ، فسيتعين عليك تضمين cache_purge وظيفة في البرنامج النصي الخاص بك في مكان ما وببساطة استدعاء ذلك كلما لزم الأمر بعد ذلك هي ببساطة مسألة استدعاء الوظيفة:
استنتاج
هذه التقنية مفيدة حقًا لأي تطبيق PHP ، خاصةً عندما تريد عرض محتوى ديناميكي دون الحاجة إلى التضحية بالأداء. استخدمها لتسريع عملية تثبيت WordPress أو لتكون قادرًا على استخدام وحدات البت المفيدة (مثل الشريط الجانبي) على أي موقع ويب أو تطبيق آخر.
ملحوظة المحرر: هذا هو مكتوب من قبل مونجورول دولون ل Hongkiat.com. Monjurul هو مصمم واجهة ويب ومقره في مدينة نيويورك ، ويستقل طريقه طوال حياته. يقوم بالتدوين على DevGrow.com ، حيث يشارك النصائح والموارد حول تطوير وتصميم الويب.