Content marketing

PHP: Koristite WordPress API za izgradnju kratkog koda za popis podstranica

Trenutno radimo na prilično složenoj implementaciji za korporativnog klijenta. Web mjesto se izrađuje u WordPressu, ali ima mnoštvo zvukova i zvižduka. Često kad radim ovu vrstu posla, volim spremiti prilagođeni kod za naknadnu namjenu na drugim web mjestima. U ovom sam slučaju mislio da je to tako korisna funkcija, htio sam je podijeliti sa svijetom. Koristimo Tema Avada WordPress s Fusion Page Builder-om kao nadređenu temu, a u našu podređenu temu ugrađuje prilično prilagođenog koda.

WordPress već ima nekoliko funkcija u svom API-ju koje se mogu koristiti za popis podstranica, poput wp_list_pages i get_pages. Problem je u tome što ne vraćaju dovoljno podataka ako se nadate da ćete dinamički stvoriti popis s hrpom informacija.

Za ovog kupca željeli su objaviti opise poslova i neka se popis radnih mjesta automatski generira u opadajućem redoslijedu do datuma objavljivanja. Također su željeli prikazati odlomak stranice.

Dakle, prvo smo morali dodati izvod za podršku predlošku stranice. U functions.php za njihovu temu dodali smo:

add_post_type_support ('stranica', 'izvadak');

Zatim smo trebali registrirati prilagođeni kratki kôd koji će generirati popis podstranica, veze do njih i izvadak za njih. Učini to, moramo koristiti Petlja za WordPress. U functions.php dodali smo:

// Popis podstranica u funkciji popisa dknm_list_child_pages ($ atts, $ content = "") {global $ post; $ atts = shortcode_atts (niz ('ifempty' => 'Nema zapisa', 'aclass' => ''), $ atts, 'list_subpages'); $ args = array ('post_type' => 'page', 'posts_per_page' => -1, 'post_parent' => $ post-> ID, 'orderby' => 'objaviti_datum', 'order' => 'DESC' ,); $ roditelj = novi 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. = ' '; na kraju; } ostalo {$ string = ' '. $ atts [' ifempty '].' '; } wp_reset_postdata (); vrati $ string; } add_shortcode ('list_subpages', 'dknm_list_child_pages');

Sada se kratki kôd može implementirati na cijelom web mjestu kako bi se podređene stranice prikazale s vezom i izvatkom. Upotreba:

[list_subpages aclass = "button" ifempty = "Nažalost, trenutno nemamo otvorenih radnih mjesta."] Popis poslova [/ list_subpages]

Rezultat je lijep, čist i neuređen popis objavljenih poslova, a to su podređene stranice ispod stranice njihove karijere.

Ako nije bilo objavljenih poslova (nema podređenih stranica), objavit će:

Nažalost, trenutno nemamo otvorenih radnih mjesta.

Ako su objavljeni poslovi (podređene stranice), objavit će:

Popis poslova:

Douglas Karr

Douglas Karr je CMO of OpenINSIGHTS i osnivač Martech Zone. Douglas je pomogao desecima uspješnih MarTech startupa, pomogao je u due diligence-u od preko 5 milijardi USD u Martech akvizicijama i ulaganjima te nastavlja pomagati tvrtkama u implementaciji i automatizaciji njihovih prodajnih i marketinških strategija. Douglas je međunarodno priznati stručnjak i govornik za digitalnu transformaciju i MarTech. Douglas je također objavljeni autor Dummie's guide i knjige o poslovnom vodstvu.

Vezani članci

Natrag na vrh
Blizu

Otkriven je Adblock

Martech Zone može vam pružiti ovaj sadržaj bez ikakvih troškova jer svoju web stranicu unovčavamo putem prihoda od oglasa, pridruženih veza i sponzorstava. Cijenili bismo kada biste uklonili program za blokiranje oglasa dok pregledavate našu stranicu.