PHP: Defnyddiwch yr API WordPress i Adeiladu Cod Byr i Restru Is-dudalennau

WordPress PHP

Rydym yn gweithio ar weithrediad eithaf cymhleth ar gyfer cleient menter ar hyn o bryd. Mae'r wefan yn cael ei hadeiladu yn WordPress ond mae ganddo dunnell o glychau a chwibanau. Yn aml, pan fyddaf yn gwneud y math hwn o waith, hoffwn arbed y cod arfer ar gyfer ei ailgyflenwi yn ddiweddarach ar wefannau eraill. Yn yr achos hwn, roeddwn i'n meddwl ei fod yn swyddogaeth mor ddefnyddiol, roeddwn i eisiau ei rhannu gyda'r byd. Rydym yn defnyddio'r Thema Avada WordPress gyda'r Adeiladwr Tudalen Fusion fel thema rhiant, a defnyddio cryn dipyn o god arfer yn ein thema plentyn.

Mae gan WordPress eisoes gwpl o swyddogaethau yn ei API y gellir eu defnyddio i restru is-dudalennau, fel wp_list_pages a get_pages. Y broblem yw nad ydyn nhw'n dychwelyd digon o wybodaeth os ydych chi'n gobeithio creu rhestr yn ddeinamig gyda chriw o wybodaeth.

Ar gyfer y cwsmer hwn, roeddent am bostio disgrifiadau swydd a chael y rhestr o agoriadau swydd yn cael eu cynhyrchu'n awtomatig mewn trefn ddisgynnol erbyn eu dyddiad cyhoeddi. Roeddent hefyd eisiau arddangos dyfyniad o'r dudalen.

Felly, yn gyntaf, roedd yn rhaid i ni ychwanegu cefnogaeth ddyfyniad i dempled y dudalen. Yn functions.php ar gyfer eu thema, gwnaethom ychwanegu:

add_post_type_support ('tudalen', 'dyfyniad');

Yna, roedd angen i ni gofrestru cod byr wedi'i deilwra a fyddai'n cynhyrchu'r rhestr o is-dudalennau, dolenni iddynt, a'r darn ar eu cyfer. Gwnewch hyn, mae'n rhaid i ni ddefnyddio'r Dolen WordPress. Yn functions.php, gwnaethom ychwanegu:

// Rhestr Is-dudalennau mewn swyddogaeth Rhestr dknm_list_child_pages ($ atts, $ content = "") {byd-eang $ post; $ atts = shortcode_atts (array ('ifempty' => 'Dim Cofnodion', 'aclass' => ''), $ atts, 'list_subpages'); $ args = array ('post_type' => 'tudalen', 'posts_per_page' => -1, 'post_parent' => $ post-> ID, 'orderby' => 'publish_date', 'order' => 'DESC' ,); $ rhiant = WP_Query newydd ($ args); os ($ parent-> have_posts ()) {$ string. = $ cynnwys. ' '; tra ($ parent-> have_posts ()): $ parent-> the_post (); $ string. = ' '.get_the_title ().' '; os (has_excerpt ($ post-> ID)) {$ string. = '-' .get_the_excerpt (); } $ string. = ' '; yn y pen draw; } arall {$ string = ' '. $ atts [' ifempty '].' '; } wp_reset_postdata (); dychwelyd $ string; } add_shortcode ('list_subpages', 'dknm_list_child_pages');

Nawr, gellir gweithredu'r cod byr trwy'r wefan i gyd i ddangos dolen a dyfyniad i'r tudalennau plentyn. Defnydd:

[list_subpages aclass = "button" ifempty = "Mae'n ddrwg gennym, nid oes gennym unrhyw agoriadau swydd ar hyn o bryd."] Rhestr o Swyddi [/ list_subpages]

Y canlyniad yw rhestr glân, heb orchymyn, o'r swyddi a gyhoeddwyd, sef tudalennau plant o dan eu tudalen gyrfa.

Os na chyhoeddwyd unrhyw swyddi (dim tudalennau plant), bydd yn cyhoeddi:

Mae'n ddrwg gennym, ar hyn o bryd nid oes gennym unrhyw agoriadau swydd.

Pe bai swyddi'n cael eu cyhoeddi (tudalennau plant), bydd yn cyhoeddi:

Rhestr Swyddi:

Beth ydych chi'n feddwl?

Mae'r wefan hon yn defnyddio Akismet i leihau sbam. Dysgwch sut mae eich data sylwadau yn cael ei brosesu.