Содржина Маркетинг

PHP: Користете го API-то на WordPress за да изградите краток код за да наведете под-страници

Работиме на доста комплексна имплементација за клиент на претпријатието во моментов. Веб-страницата се гради во WordPress, но има многу ellsвона и свирежи. Честопати, кога работам ваков вид на работа, сакам да го зачувам прилагодениот код за пренаменување подоцна на други страници. Во овој случај, мислев дека е толку корисна функција, сакав да ја споделам со светот. Ние го користиме Авада WordPress тема со Fusion Page Builder како родителска тема и распоредување на прилагоден код во нашата детска тема.

WordPress веќе има неколку функции во својот API што може да се искористи за список на под-страници, како што се wp_list_pages и get_pages. Проблемот е во тоа што тие не враќаат доволно информации ако се надевате дека динамично ќе креирате список со еден куп информации.

За овој клиент, тие сакаа да објават описи на работни места и списокот со отворени работни места автоматски да се генерираат по опаѓачки редослед до нивниот датум на објавување. Тие исто така сакаа да прикажат извадок од страницата.

Значи, прво, моравме да додадеме поддршка за извадок во образецот на страницата. Во функциите.php за нивната тема, додадовме:

add_post_type_support ('страница', 'извадок');

Потоа, требаше да регистрираме сопствен краток код што ќе генерира список на под-страници, врски до нив и извадок за нив. Направете го ова, ние треба да го користиме Јамка на WordPress. Во функциите.php, додадовме:

// Под-страници со списоци во функцијата Листа dknm_list_child_pages ($ atts, $ content = "") {глобален $ пост; $ atts = shortcode_atts (низа ('ifempty' => 'Нема записи', 'aclass' => ''), $ atts, 'list_subpages'); $ args = низа ('post_type' => 'страница', 'posts_per_page' => -1, 'post_parent' => $ post-> ID, 'orderby' => 'publ_date', 'order' => 'DESC' ,); $ родител = нов WP_Query ($ args); ако ($ parent-> have_posts ()) {$ string. = $ содржина. ' '; додека ($ parent-> have_posts ()): $ parent-> the_post (); $ низа. = ' '. земи го титлот ().' '; if (has_excerpt ($ post-> ID)) {$ string. = '-' .get_the_excerpt (); } низа $. = ' '; во меѓувреме; } друго {$ string = ' ". $ atts [" ако бесмислено "]." '; } wp_reset_postdata (); врати низа $; } add_shortcode ('list_sppages', 'dknm_list_child_pages');

Сега, краткиот код може да се спроведе низ целата веб-страница за да им се прикажат на децата страници со линк и извадок. Употреба:

[list_subpages aclass = "копче" ifempty = "Извинете, во моментов немаме отворени работни места."] Список на работни места [/ list_sppages]

Резултатот е убав, чист нереден список на објавени работни места, кои се детски страници под нивната страница за кариера.

Доколку нема објавено работни места (нема страници за деца), ќе објави:

Извинете, во моментов немаме отворени работни места.

Доколку имало објавено работни места (страници за деца), тоа ќе објави:

Список на работни места:

Douglas Karr

Douglas Karr е CMO на OpenINSIGHTS и основачот на Martech Zone. Даглас им помогна на десетици успешни стартапи на MarTech, помогна во длабинската анализа од над 5 милијарди американски долари за аквизиции и инвестиции на Martech и продолжува да им помага на компаниите во имплементацијата и автоматизирањето на нивните стратегии за продажба и маркетинг. Даглас е меѓународно признат експерт и говорник за дигитална трансформација и MarTech. Даглас е исто така објавен автор на водич за Dummie и книга за бизнис лидерство.

поврзани написи

Вратете се на почетокот копче
Затвори

Откриен е блок за рекламирање

Martech Zone може да ви ја обезбеди оваа содржина без трошоци бидејќи ја монетизираме нашата страница преку приходи од реклами, врски со партнери и спонзорства. Ќе ни биде благодарно ако го отстраните вашиот блокатор на реклами додека ја гледате нашата страница.