Content Marketing

PHP: Izmantojiet WordPress API, lai izveidotu īso kodu apakšlapu sarakstam

Mēs šobrīd strādājam pie diezgan sarežģīta uzņēmuma klienta ieviešanas. Vietne tiek veidota programmā WordPress, taču tajā ir daudz zvanu un svilpu. Bieži vien, veicot šāda veida darbu, man patīk saglabāt pielāgoto kodu, lai vēlāk tos izmantotu citās vietnēs. Šajā gadījumā es domāju, ka tā ir tik noderīga funkcija, es gribēju to dalīties ar pasauli. Mēs izmantojam Avada WordPress tēma ar Fusion Page Builder kā vecāku tēmu un mūsu bērnu tēmā ievietojot diezgan daudz pielāgota koda.

Programmas WordPress API jau ir pāris funkcijas, kuras var izmantot apakšlapu, piemēram, wp_list_pages un get_pages, sarakstam. Problēma ir tā, ka viņi neatgriež pietiekami daudz informācijas, ja jūs cerat dinamiski izveidot sarakstu ar virkni informācijas.

Šim klientam viņi vēlējās publicēt amata aprakstus un pieprasīt, lai līdz viņu publicēšanas datumam automātiski tiktu izveidots darba vietu saraksts dilstošā secībā. Viņi arī vēlējās parādīt lapas fragmentu.

Tātad, vispirms mums bija jāpievieno izvilkuma atbalsts lapas veidnei. Savā motīvā functions.php mēs pievienojām:

add_post_type_support ('lapa', 'fragments');

Tad mums bija jāreģistrē pielāgots īss kods, kas ģenerētu apakšlapu sarakstu, saites uz tām un to fragmentu. Dariet to, mums ir jāizmanto WordPress Loop. Vietnē functions.php mēs pievienojām:

// Saraksta apakšlapu saraksta funkcija dknm_list_child_pages ($ atts, $ content = "") {global $ post; $ atts = shortcode_atts (masīvs ('ifempty' => 'Nav ierakstu', 'aclass' => ''), $ atts, 'list_subpages'); $ args = masīvs ('post_type' => 'lapa', 'posts_per_page' => -1, 'post_parent' => $ post-> ID, 'orderby' => 'publish_date', 'order' => 'DESC' ,); $ parent = new WP_Query ($ args); if ($ parent-> have_posts ()) {$ string. = $ content. ' "; while ($ parent-> have_posts ()): $ parent-> the_post (); $ virkne. = ' '.get_the_title ().' "; if (has_excerpt ($ post-> ID)) {$ virkne. = '-' .get_the_excerpt (); } $ virkne. = ' "; beigas; } cits {$ string = ' '. $ atts [' ifempty '].' "; } wp_reset_postdata (); atgriezt $ virkni; } add_shortcode ('list_subpages', 'dknm_list_child_pages');

Tagad īso kodu var ieviest visā vietnē, lai parādītu bērnu lapas ar saiti un fragmentu. Lietošana:

[list_subpages aclass = "button" ifempty = "Atvainojiet, mums pašlaik nav neviena darba piedāvājuma."] Darbu saraksts [/ list_subpages]

Rezultāts ir jauks, tīrs nesakārtots publicēto darbu saraksts, kas ir bērnu lapas zem viņu karjeras lapas.

Ja netika publicēts neviens darbs (nav bērnu lapu), tas publicēs:

Diemžēl pašlaik mums nav neviena darba piedāvājuma.

Ja būtu publicēti darbi (bērnu lapas), tas publicēs:

Darbu saraksts:

Douglas Karr

Douglas Karr ir TKO no OpenINSIGHTS un dibinātājs Martech Zone. Duglass ir palīdzējis desmitiem veiksmīgu MarTech jaunuzņēmumu, ir palīdzējis veikt vairāk nekā 5 miljardu dolāru Martech iegādes un ieguldījumu uzticamības pārbaudi, kā arī turpina palīdzēt uzņēmumiem ieviest un automatizēt to pārdošanas un mārketinga stratēģijas. Douglas ir starptautiski atzīts digitālās transformācijas un MarTech eksperts un runātājs. Duglass ir arī publicēts Dummie rokasgrāmatas un biznesa vadības grāmatas autors.

Saistītie raksti

Atpakaļ uz augšu pogu
aizvērt

Reklāmu bloķēšana konstatēta

Martech Zone var nodrošināt jums šo saturu bez maksas, jo mēs gūstam peļņu no savas vietnes, izmantojot ieņēmumus no reklāmām, saistīto uzņēmumu saites un sponsorēšanu. Būsim pateicīgi, ja, apskatot mūsu vietni, noņemtu savu reklāmu bloķētāju.