Змест маркетынгу

PHP: Выкарыстоўвайце API WordPress для стварэння шорт-кода для пераліку падстаронак

Зараз мы працуем над даволі складанай рэалізацыяй для кліента прадпрыемства. Сайт ствараецца ў WordPress, але мае мноства наваротаў. Часта, калі я раблю гэты тып працы, мне падабаецца захоўваць уласны код для перапрафілявання пазней на іншых сайтах. У гэтым выпадку я думаў, што гэта такая карысная функцыя, я хацеў падзяліцца ёю з усім светам. Мы выкарыстоўваем Тэма Avada WordPress з Fusion Page Builder як бацькоўская тэма, і разгортванне даволі вялікай колькасці ўласнага кода ў нашай дзіцячай тэме.

WordPress ужо мае некалькі функцый у сваім API, якія можна выкарыстоўваць для пераліку падстаронак, такіх як wp_list_pages і get_pages. Праблема ў тым, што яны не вяртаюць дастатковую колькасць інфармацыі, калі вы спадзяецеся дынамічна стварыць спіс з вялікай колькасцю інфармацыі.

Для гэтага кліента яны хацелі размясціць апісанні вакансій і аўтаматычна ствараць спіс вакансій у парадку змяншэння да даты іх публікацыі. Яны таксама хацелі адлюстраваць фрагмент старонкі.

Такім чынам, спачатку мы павінны былі дадаць вытрымку ў шаблон старонкі. У functions.php для іх тэмы мы дадалі:

add_post_type_support ('старонка', 'урывак');

Тады нам трэба было зарэгістраваць уласны шорт-код, які генеруе спіс падстаронак, спасылкі на іх і фрагмент для іх. Зрабіце гэта, мы павінны выкарыстоўваць Пятля WordPress. У functions.php мы дадалі:

// Спіс падстаронак у функцыі спісу dknm_list_child_pages ($ atts, $ content = "") {global $ post; $ atts = shortcode_atts (масіў ('ifempty' => 'Няма запісаў', 'aclass' => ''), $ atts, 'list_subpages'); $ args = array ('post_type' => 'старонка', 'posts_per_page' => -1, 'post_parent' => $ post-> Ідэнтыфікатар, 'orderby' => 'публікаваць_дату', 'order' => 'DESC' ,); $ бацькоўскі = новы WP_Query ($ аргументаў); 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. = ' '; канчаткова; } яшчэ {$ string = ' '. $ atts [' ifempty '].' '; } wp_reset_postdata (); вярнуць $ string; } add_shortcode ('list_subpages', 'dknm_list_child_pages');

Цяпер шорт-код можа быць рэалізаваны на ўсім сайце, каб паказаць даччыныя старонкі са спасылкай і вытрымкай. Выкарыстанне:

[list_subpages aclass = "button" ifempty = "На жаль, у нас у цяперашні час няма вакансій."] Спіс вакансій [/ list_subpages]

У выніку атрымліваецца добры, чысты і неўпарадкаваны спіс апублікаваных заданняў, якія з'яўляюцца даччынымі старонкамі пад іх старонкай кар'еры.

Калі не было апублікаваных заданняў (няма даччыных старонак), ён будзе публікаваць:

На жаль, у цяперашні час у нас няма вакансій.

Калі былі апублікаваны вакансіі (даччыныя старонкі), ён будзе публікаваць:

Спіс вакансій:

Douglas Karr

Douglas Karr з'яўляецца CMO кампаніі OpenINSIGHTS і заснавальнік ст Martech Zone. Дуглас дапамог дзясяткам паспяховых стартапаў MarTech, аказаў дапамогу ў належнай абачлівасці больш чым на 5 мільярдаў долараў у набыцці і інвестыцыях Martech і працягвае дапамагаць кампаніям у рэалізацыі і аўтаматызацыі іх продажаў і маркетынгавых стратэгій. Дуглас - міжнародна прызнаны эксперт і дакладчык па лічбавай трансфармацыі і MarTech. Дуглас таксама з'яўляецца апублікаваным аўтарам даведніка па манекенах і кнігі па бізнес-кіраўніцтву.

Артыкулы па Тэме

Вярнуцца да пачатку кнопкі
блізка

Выяўлена блакіроўка рэкламы

Martech Zone можа даць вам гэты кантэнт бясплатна, таму што мы манетызуем наш сайт за кошт даходаў ад рэкламы, партнёрскіх спасылак і спонсарства. Мы былі б удзячныя, калі б вы выдалілі блакіроўшчык рэкламы пры праглядзе нашага сайта.