Anonim

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

أفضل إنشاء موجز جديد بدلاً من تمديد موجز ويب الافتراضي لأنني أجد أن هذه الطريقة أبسط قليلاً

add_feed وظيفة وورد

add_filter ( 'الحرف الأول'، 'tj_init_custom_feed')؛ الدالة tj_init_custom_feed () {// تهيئة الخلاصة add_feed ('custom-feed'، 'tj_custom_feed')؛ }

في ملف jobs.php الخاص بك في سمة WordPress ، أضف الكود أعلاه. نظرًا لأنه من الأفضل عدم الاتصال بـ add_feed مباشرةً ، فنحن نضيفه عبر مرشح على "init". يتم استخدام المعلمة الأولى في استدعاء الوظيفة لتوفير رمز URL لعنصر التغذية. تُستخدم المعلمة الثانية لربطها باسم الوظيفة. لذلك ، عندما يتم استدعاء عنوان url هذا (yourblogurl.com/custom-feed) ، فإنه ينفذ دالة PHP tj_custom_feed.

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

إخراج XML

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

function tj_custom_feed () {header ("Content-type: text / xml")؛ صدى "\ n"؛ صدى صوت " \ n "؛ $ posts = get_posts ()؛ foreach ($ posts as $ post) {$ post_link = get_permalink ($ post-> ID)؛ $ image = wp_get_attachment_image_src (get_post_thumbnail_id ($ post-> ID)، 'full') ؛ صدى صوت ' '؛ صدى "\ ر ". $ post -> ID." \ n "؛ صدى" \ t ". $ post-> post_date." \ n "؛ صدى" \ t ". $ post_link." \ n "؛ صدى" \ t ". esc_html ($ post-> post_title)." \ n "؛ صدى" \ t ". esc_html (strip_tags ($ post-> post_excerpt))." \ n "؛ صدى" \ t ". $ image." "؛ صدى صوت ' '؛ } صدى صوت " "؛ خروج؛ }

إنشاء وورد مخصص آر إس إس / XML تغذية