Content Marketing

PHP: استخدم WordPress API لإنشاء رمز قصير لسرد الصفحات الفرعية

نحن نعمل على تنفيذ معقد للغاية لعميل مؤسسة في الوقت الحالي. يتم بناء الموقع في WordPress ولكن به الكثير من الأجراس والصفارات. في كثير من الأحيان ، عندما أقوم بهذا النوع من العمل ، أود حفظ الرمز المخصص لإعادة استخدامه لاحقًا في مواقع أخرى. في هذه الحالة ، اعتقدت أنها وظيفة مفيدة ، وأردت مشاركتها مع العالم. نحن نستخدم ملف موضوع Avada WordPress مع Fusion Page Builder كموضوع رئيسي ، ونشر قدرًا كبيرًا من التعليمات البرمجية المخصصة في موضوعنا الفرعي.

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

بالنسبة لهذا العميل ، أرادوا نشر أوصاف الوظائف والحصول على قائمة الوظائف الشاغرة يتم إنشاؤها تلقائيًا بترتيب تنازلي حسب تاريخ النشر. أرادوا أيضًا عرض مقتطف من الصفحة.

لذلك ، أولاً ، كان علينا إضافة دعم مقتطف إلى قالب الصفحة. في function.php لموضوعهم ، أضفنا:

add_post_type_support ('page'، 'excerpt') ؛

بعد ذلك ، احتجنا إلى تسجيل رمز قصير مخصص من شأنه أن يُنشئ قائمة الصفحات الفرعية ، والروابط إليها ، والمقتطفات الخاصة بها. افعل هذا ، علينا استخدام وورد حلقة. أضفنا في function.php:

// سرد الصفحات الفرعية في دالة القائمة dknm_list_child_pages ($ atts، $ content = "") {global $ post؛ $ atts = shortcode_atts (array ('ifempty' => 'No Records'، 'aclass' => '')، $ atts، 'list_subpages')؛ $ args = array ('post_type' => 'page'، 'posts_per_page' => -1، 'post_parent' => $ post-> ID، 'orderby' => 'publish_date'، 'order' => 'DESC' ،) ؛ $ الأصل = WP_Query جديد ($ args) ؛ إذا ($ parent-> have_posts ()) {$ string. = $ content. ' "؛ while (parent-> have_posts ()): $ parent-> the_post () ؛ سلسلة $. = '".get_the_title ()." "؛ if (has_excerpt ($ post-> ID)) {$ string. = '-' .get_the_excerpt ()؛ } سلسلة $. = ' "؛ في الوقت نفسه } else {$ string = ' '. $ atts [' ifempty '].' "؛ } wp_reset_postdata () ، إرجاع سلسلة $؛ } add_shortcode ('list_subpages'، 'dknm_list_child_pages') ؛

الآن ، يمكن تنفيذ الكود المختصر في جميع أنحاء الموقع لإظهار الصفحات الفرعية برابط ومقتطف. الاستعمال:

[list_subpages aclass = "button" ifempty = "عذرًا ، ليس لدينا حاليًا أي فرص عمل."] قائمة الوظائف [/ list_subpages]

والنتيجة هي قائمة لطيفة ونظيفة وغير مرتبة للوظائف المنشورة ، وهي عبارة عن صفحات فرعية أسفل صفحة وظائفهم.

إذا لم يتم نشر أي وظائف (لا توجد صفحات فرعية) ، فسيتم نشر:

عذرا ، ليس لدينا حاليا أي فرص عمل.

إذا كانت هناك وظائف منشورة (صفحات فرعية) ، فسيتم نشرها:

قائمة الوظائف:

Douglas Karr

Douglas Karr هو CMO من أوبن إنسايتس ومؤسس Martech Zone. ساعد دوغلاس العشرات من الشركات الناشئة الناجحة في MarTech، وساعد في العناية الواجبة بأكثر من 5 مليارات دولار في عمليات الاستحواذ والاستثمارات في Martech، ويستمر في مساعدة الشركات في تنفيذ وأتمتة استراتيجيات المبيعات والتسويق الخاصة بها. دوغلاس هو أحد خبراء التحول الرقمي المعترف بهم عالميًا وخبير ومتحدث في MarTech. دوغلاس هو أيضًا مؤلف منشور لدليل Dummie وكتاب عن قيادة الأعمال.

مقالات ذات صلة

العودة إلى الزر العلوي
اغلاق

كشف Adblock

Martech Zone قادر على تزويدك بهذا المحتوى دون أي تكلفة لأننا نستثمر موقعنا من خلال عائدات الإعلانات ، والروابط التابعة ، والرعاية. سنكون ممتنين إذا قمت بإزالة مانع الإعلانات الخاص بك أثناء عرض موقعنا.