Maketing Kontni

PHP: Sèvi ak API WordPress la pou konstwi yon Shortcode nan lis Subpages

Nou ap travay sou byen yon aplikasyon konplèks pou yon kliyan antrepriz kounye a. Sit la te bati nan WordPress men li gen yon tòn klòch ak sifle. Souvan, lè mwen ap fè sa a ki kalite travay, mwen renmen pou konsève pou kòd la koutim pou repurposing pita sou lòt sit. Nan ka sa a, mwen te panse li te tankou yon fonksyon itil, mwen te vle pataje li ak mond lan. Nou ap itilize a Avada WordPress tèm ak Fusion Page Builder la kòm yon tèm paran, ak deplwaye byen yon ti jan nan kòd koutim nan tèm pitit nou yo.

WordPress deja gen yon koup nan fonksyon nan API li yo ki ka itilize nan lis subpages, tankou wp_list_pages ak get_pages. Pwoblèm lan se yo ke yo pa retounen ase enfòmasyon si w ap espere dynamique kreye yon lis ak yon pakèt moun sou enfòmasyon.

Pou kliyan sa a, yo te vle poste deskripsyon travay epi yo gen lis la nan ouvèti travay otomatikman jwenn pwodwi nan desann lòd pa dat pibliye yo. Yo menm tou yo te vle montre yon ekstrè nan paj la.

Se konsa, premye, nou te ajoute sipò ekstrè nan modèl paj la. Nan functions.php pou tèm yo, nou te ajoute:

add_post_type_support ('paj', 'ekstrè');

Lè sa a, nou te bezwen enskri yon shortcode koutim ki ta jenere lis la nan subpages, lyen ki mennen nan yo, ak ekstrè a pou yo. Fè sa, nou dwe itilize WordPress Loop. Nan functions.php, nou te ajoute:

// Lis Subpages nan yon fonksyon Lis dknm_list_child_pages ($ atts, $ kontni = "") {global $ pòs; $ atts = shortcode_atts (etalaj ('ifempty' => 'Pa gen dosye', 'aclass' => ''), $ atts, 'list_subpages'); $ args = array ('post_type' => 'paj', 'posts_per_page' => -1, 'post_parent' => $ post-> ID, 'orderby' => 'publish_date', 'order' => 'DESC' ,); $ paran = nouvo WP_Query ($ arg); si ($ paran-> gen_posts ()) {$ fisèl. = $ kontni. ' '; pandan y ap ($ paran-> gen_posts ()): $ paran-> the_post (); $ fisèl. = ' '.get_the_title ().' '; si (has_excerpt ($ post-> ID)) {$ string. = '-' .get_the_cerce (); } $ fisèl. = ' '; pandan tout tan; } Lòt bagay {$ string = ' '. $ atts [' ifempty '].' '; } wp_reset_postdata (); retounen $ fisèl; } add_shortcode ('list_subpages', 'dknm_list_child_pages');

Koulye a, shortcode a kapab aplike nan tout sit la pou montre paj timoun yo ak yon lyen ak ekstrè. Itilizasyon:

[list_subpages aclass = "bouton" ifempty = "Padon, nou kounye a pa gen okenn ouvèti travay."] Lis Travay [/ list_subpages]

Rezilta a se yon bèl, pwòp lis òdone nan travay yo pibliye yo, ki se paj timoun anba paj karyè yo.

Si pa te gen okenn travay pibliye (pa gen okenn paj pitit), li pral pibliye:

Padon, kounye a nou pa gen okenn ouvèti travay.

Si te gen travay pibliye (paj pitit), li pral pibliye:

Lis Travay:

Douglas Karr

Douglas Karr se CMO nan OpenINSIGHTS ak fondatè a nan Martech Zone. Douglas te ede plizyè douzèn demaraj MarTech ki gen siksè, li te ede nan dilijans plis pase $5 milya nan akizisyon ak envestisman Martech, epi li kontinye ede konpayi yo nan mete ann aplikasyon ak otomatize estrateji lavant ak maketing yo. Douglas se yon transfòmasyon dijital entènasyonalman rekonèt ak ekspè MarTech ak oratè. Douglas se tou yon otè pibliye nan yon gid Dummie a ak yon liv lidèchip biznis.

Atik ki gen rapò

Retounen nan bouton tèt
Fèmen

Adblock Detekte

Martech Zone se kapab ba ou kontni sa a gratis paske nou monetize sit nou an atravè revni anons, lyen afilye, ak parennaj. Nou ta apresye si ou ta retire bloke anons ou a pandan w ap gade sit nou an.