мазмун Marketing

PHP: WordPress API колдонуп, баракчаларды тизмектөө үчүн кыска код түзүңүз

Биз азыр ишкананын кардары үчүн бир топ татаал ишке ашыруунун үстүндө иштеп жатабыз. Сайт WordPressте курулуп жатат, бирок бир нече коңгуроо жана ышкырык бар. Көбүнчө ушул түрдөгү жумуштарды аткарып жатканда, кийинчерээк репурпоздоо үчүн колдонуучунун кодун башка сайттарга сактап койгум келет. Бул учурда, мен аны ушунчалык пайдалуу функция деп ойлоп, аны дүйнө менен бөлүшкүм келди. Биз колдонуп жатабыз Fusion Page Builder менен Avada WordPress темасы ата-энелердин темасы катары жана биздин баланын темасында колдонуучунун кодун бир аз жайылтуу.

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' => 'page', 'posts_per_page' => -1, 'post_parent' => $ post-> ID, 'orderby' => 'published_date', 'order' => 'DESC' ,); $ parent = жаңы 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. = ' '; аяктаган; } else {$ string = ' '. $ atts [' ifempty '].' '; } wp_reset_postdata (); return $ 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 стартаптарына жардам берди, Martech сатып алууларына жана инвестицияларына 5 миллиард доллардан ашык каражатты текшерүүгө жардам берди жана компанияларга сатуу жана маркетинг стратегияларын ишке ашырууда жана автоматташтырууда жардам берүүнү улантууда. Дуглас эл аралык деңгээлде таанылган санариптик трансформация жана MarTech эксперти жана спикери. Дуглас ошондой эле Dummie's guide жана бизнес лидерлик китебинин басылып чыккан автору.

Тектеш макалалар

Артка жогорку баскычы
жакын

Adblock аныкталды

Martech Zone Бул мазмунду сизге эч кандай акы төлөбөй бере алат, анткени биз сайтыбызды жарнамадан түшкөн киреше, өнөктөштүк шилтемелер жана демөөрчүлүк аркылуу акча табабыз. Биздин сайтты көрүп жатканыңызда жарнама блокаторуңузду алып салсаңыз, биз ыраазыбыз.