PHP: Benotzt de WordPress API fir e Shortcode ze bauen fir Ënnersäiten ze lëschten

WordPress PHP

Mir schaffen un enger zimlech komplexer Implementéierung fir en Enterprise Client am Moment. De Site gëtt a WordPress gebaut awer huet eng ganz Rëtsch vu Klacken a Pfeifelen. Oft, wann ech dës Aart Aarbecht maachen, späicheren ech gär de personaliséierte Code fir spéider op aner Säiten nei z'installéieren. An dësem Fall hunn ech geduecht datt et sou eng nëtzlech Funktioun war, ech wollt se mat der Welt deelen. Mir benotzen den Avada WordPress Thema mam Fusion Page Builder als Elterenthema, an zimlech e bëssen eegene Code an eisem Kand Thema auszesetzen.

WordPress huet schonn e puer Funktiounen a senger API déi kënne benotzt ginn fir Ënnersäiten ze lëschten, wéi wp_list_pages a get_pages. De Problem ass datt se net genuch Informatioun zréckginn wann Dir hofft dynamesch eng Lëscht mat enger Rëtsch Informatioun ze kreéieren.

Fir dëse Client wollte se Jobbeschreiwunge posten an d'Lëscht vun den Joboffinsiounen automatesch an erofgaangender Reih generéiere loossen no hirem Verëffentlechungsdatum. Si wollten och en Extrait vun der Säit affichéieren.

Also, als éischt musse mir Extrait Support op d'Säit Template bäifügen. An functions.php fir hiren Thema hu mir derbäigesat:

add_post_type_support ('Säit', 'Auszuch');

Duerno musse mir e personaliséierte Kuerzcode registréieren deen d'Lëscht vun Ënnersäiten, Linken op hinnen, an den Auszuch fir si generéiert. Maacht dëst, mir mussen de WordPress Loop. An functions.php hu mir derbäigesat:

// Lëscht Ënnersäiten an enger Lëscht Funktioun dknm_list_child_pages ($ atts, $ content = "") {global $ post; $ atts = shortcode_atts (array ('ifempty' => 'Keng Records', 'aclass' => ''), $ atts, 'list_subpages'); $ args = array ('post_type' => 'Säit', 'posts_per_page' => -1, 'post_parent' => $ post-> ID, 'orderby' => 'publish_date', 'order' => 'DESC' ,); $ Elteren = nei WP_Query ($ args); wann ($ parent-> have_posts ()) {$ string. = $ Inhalt. ' '; wärend ($ parent-> have_posts ()): $ parent-> the_post (); $ string. = ' '.get_the_title ().' '; wann (has_excerpt ($ post-> ID)) {$ string. = '-' .get_the_excerpt (); } $ string. = ' '; endlech; } anescht {$ string = ' '. $ atts [' ifempty '].' '; } wp_reset_postdata (); Retour $ String; } add_shortcode ('list_subpages', 'dknm_list_child_pages');

Elo kann de Kuerzcode am ganze Site implementéiert ginn fir d'Kannersäiten mat engem Link an Auszuch ze weisen. Benotzung:

[list_subpages aclass = "button" ifempty = "Entschëllegt, mir hu fir de Moment keng Aarbechtsplazen."] Lëscht vun Jobs [/ list_subpages]

D'Resultat ass eng schéin, propper net uerdentlech Lëscht vun de publizéierten Aarbechtsplazen, déi Kannersäiten ënner hirer Karriärsäit sinn.

Wa keng Aarbechtsplaze verëffentlecht goufen (keng Kannersäiten), da publizéiert se:

Entschëllegt, mir hu momentan keng Aarbechtsplazen.

Wann et Aarbechte verëffentlecht goufen (Kannersäiten), gëtt et publizéiert:

Lëscht vun de Jobs:

Wat denks du?

Dëse Site benotzt Akismet fir Spam ze reduzéieren. Léiert wéi Är Kommentarfaten veraarbecht ginn.