PHP: Használjon WordPress API-t rövid kód készítéséhez az aloldalak felsorolásához

WordPress PHP

A vállalati ügyfél meglehetősen összetett megvalósításán dolgozunk. A webhely WordPress-ben épül, de rengeteg harangot és sípot tartalmaz. Gyakran, amikor ilyen típusú munkát végzek, el akarom menteni az egyéni kódot, hogy később más oldalakon más célokra felhasználhassam őket. Ebben az esetben azt gondoltam, hogy ez egy olyan hasznos funkció, meg akartam osztani a világgal. Használjuk a Avada WordPress téma a Fusion Page Builderrel szülőtémaként, és elég sok egyedi kódot telepítünk gyermek témánkban.

A WordPress API-jában már van néhány funkció, amelyek felhasználhatók aloldalak felsorolására, például a wp_list_pages és a get_pages. A probléma az, hogy nem adnak vissza elegendő információt, ha abban reménykedik, hogy dinamikusan létrehoz egy listát egy csomó információval.

Ehhez az ügyfélhez munkaköri leírásokat akartak közzétenni, és a kinevezések dátumáig csökkenő sorrendben automatikusan elkészítették az állásajánlatok listáját. Az oldal kivonatát is meg akarták jeleníteni.

Tehát először hozzá kellett adnunk egy kivonat támogatást az oldal sablonhoz. A function.php témájukhoz hozzáadtuk:

add_post_type_support ('oldal', 'kivonat');

Ezután regisztrálnunk kellett egy egyéni rövid kódot, amely létrehozta az aloldalak listáját, az ezekre mutató hivatkozásokat és a kivonatokat. Tegye ezt, használnunk kell a WordPress hurok. A függvények.php fájljában hozzáadtuk:

// Aloldalak listázása a List függvényben dknm_list_child_pages ($ atts, $ content = "") {global $ post; $ atts = shortcode_atts (tömb ('ifempty' => 'Nincs rekord', 'aclass' => ''), $ atts, 'list_subpages'); $ args = tömb ('post_type' => 'oldal', 'posts_per_page' => -1, 'post_parent' => $ post-> ID, 'orderby' => 'publish_date', 'order' => 'DESC' ,); $ szülő = új WP_Query ($ args); if ($ parent-> have_posts ()) {$ string. = $ content. ' "; while ($ parent-> have_posts ()): $ parent-> the_post (); $ string. = ' '.get_the_title ().' "; if (has_excerpt ($ post-> ID)) {$ string. = '-' .get_the_excerpt (); } $ string. = ' "; közben; } else {$ string = ' '. $ atts [' ifempty '].' "; } wp_reset_postdata (); return $ string; } add_shortcode ('list_subpages', 'dknm_list_child_pages');

Most a rövid kód az egész webhelyen megvalósítható, hogy a gyermekoldalak linkkel és kivonattal jelenjenek meg. Használat:

[list_subpages aclass = "button" ifempty = "Sajnáljuk, jelenleg nincs állásajánlatunk."] Munkák listája [/ list_subpages]

Az eredmény egy szép, tiszta, rendezetlen lista a közzétett munkákról, amelyek gyermekoldalak a karrierjük alatt.

Ha nem tettek közzé munkát (nem voltak gyermekoldalak), akkor közzéteszi:

Sajnos jelenleg nincs állásajánlatunk.

Ha megjelentek munkák (gyermekoldalak), akkor a következőket teszi közzé:

Munkák listája:

Mit gondolsz?

Ez az oldal Akismet-et használ a levélszemét csökkentése érdekében. Ismerje meg, hogyan dolgozik a megjegyzésed.