PHP: वर्डप्रेस एपीआई प्रयोग गर्नुहोस् उपपृष्ठ पृष्ठ सूचीबद्ध गर्न एक सर्टकट निर्माण गर्न

WordPress PHP

हामी अहिले एउटा इन्टर्प्राइज ग्राहकको लागि अत्यन्त जटिल कार्यान्वयनमा काम गर्दैछौं। साइट वर्डप्रेसमा निर्माण भईरहेको छ तर घण्टी र सिट्टिहरूको एक टन छ। अक्सर, जब म यस प्रकारको काम गर्दैछु, म अनुकूलन कोड सुरक्षित गर्न चाहान्छु अन्य साईटहरूमा पछि पुन: पोस्ट गर्नका लागि। यस अवस्थामा मैले सोचे कि यो यस्तो उपयोगी कार्य हो, म यसलाई दुनियासँग बाँड्न चाहान्छु। हामी प्रयोग गर्दैछौं फ्यूजन पृष्ठ बिल्डरको साथ अवाडा वर्डप्रेस विषयवस्तु एक मूल विषयवस्तुको रूपमा, र हाम्रो बच्चा विषयवस्तुमा कस्टम कोडको केहि बिट तैनाथ गर्दै।

WordPress मा पहिले नै यसको एपीआईमा केहि प्रकार्यहरू छन् जुन उपपृष्ठहरू सूचीबद्ध गर्न प्रयोग गर्न सकिन्छ, wp_list_pages र get_pages। समस्या यो हो कि तिनीहरूले पर्याप्त जानकारी फिर्ता गर्दैनन् यदि तपाईं गतिशील रूपमा जानकारीको गुच्छाको साथ सूची सिर्जना गर्ने आशा गर्दै हुनुहुन्छ।

यस ग्राहकको लागि, तिनीहरू रोजगार विवरणहरू पोष्ट गर्न चाहन्थे र रोजगार प्रकाशनको सूची आफैं तिनीहरूको प्रकाशन मिति द्वारा अवरोही क्रममा उत्पन्न होस् भन्ने चाहन्थे। तिनीहरू पनि पृष्ठ को एक अंश प्रदर्शन गर्न चाहन्थे।

त्यसो भए, पहिले, हामीले पृष्ठ टेम्प्लेटमा उद्धरण समर्थन थप गर्नुपर्‍यो। तिनीहरूको विषयवस्तुको लागि फंक्शन.पीपीपीमा, हामी थियौं:

add_post_type_support ('पृष्ठ', 'अंश');

त्यसो भए, हामीले एउटा अनुकूलन सर्टकड दर्ता गर्नुपर्नेछ जसले उपपृष्ठहरूको सूची, तिनीहरूमा लिंकहरू, र तिनीहरूको लागि उद्धरण उत्पन्न गर्दछ। यो गर्नुहोस्, हामीले प्रयोग गर्नुपर्नेछ WordPress लूप। Funs.php मा, हामी थियौं:

// एक सूची समारोह dknm_list_child_pages ($ atts, $ सामग्री = "") {ग्लोबल $ पोस्ट मा उप उप पृष्ठहरू सूचीबद्ध गर्नुहोस्; ts atts = shortcode_atts (एर्रे ('ifempty' => 'कुनै रेकर्ड छैन', 'अक्लास' => ''), $ atts, 'list_subpages'); gs args = array ('post_type' => 'पृष्ठ', 'post_per_page' => -१, 'post_parent' => $ post-> आईडी, 'अर्डरबी' => 'प्रकाशित_मिति', 'आदेश' => 'DESC' ,); $ अभिभावक = नयाँ WP_Query (gs आर्ग्स); यदि ($ अभिभावक-> have_posts ()) {$ स्ट्रिंग। = $ सामग्री। ' '; जबकि ($ अभिभावक-> have_posts ()): $ अभिभावक-> the_post (); $ स्ट्रिंग। = ' '.get_the_title ()।' '; यदि (has_excerpt ($ post-> ID)) {$ स्ट्रिंग। = '-' .get_the_excerpt (); } $ स्ट्रिंग। = ' '; अन्ततः } अन्य {$ स्ट्रिंग = ' '। $ atts [' ifempty ']।' '; } wp_reset_postdata (); $ स्ट्रिंग; } add_shortcode ('list_subpages', 'dknm_list_child_pages');

अब, सर्टकड साइटमा लागू गर्न सकिन्छ लिंक र अंशको साथ बच्चा पृष्ठहरू देखाउन। उपयोग:

[list_subpages aclass = "बटन" ifempty = "माफ गर्नुहोस्, हामीसँग वर्तमानमा कुनै पनि काम छैन।"] कार्यहरूको सूची [/ list_subpages]

नतिजा एक राम्रो, सफा प्रकाशित प्रकाशित कार्यहरूको सूची हो, जुन उनीहरूको क्यारियर पृष्ठ अन्तर्गत बाल पृष्ठहरू हुन्।

यदि त्यहाँ कुनै रोजगारहरू प्रकाशित भएनन् (बाल पृष्ठहरू थिएनन्), यसले प्रकाशित गर्नेछ:

माफ गर्नुहोस्, हामीसँग वर्तमानमा कुनै पनि कामको उद्घाटन छैन।

यदि त्यहाँ रोजगारहरू प्रकाशित भए (बाल पृष्ठहरू), यसले प्रकाशित गर्नेछ:

कार्यहरूको सूची:

तिम्रो के बिचार छ?

यो साइट स्प्याम कम गर्न Akismet को उपयोग गर्दछ। जान्नुहोस् कि तपाईंको डेटा कसरी संसाधित छ.