PHP: Defnyddiwch yr API WordPress i Adeiladu Cod Byr i Restru Is-dudalennau
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:
- Tudalen Diweddaraf Plentyn - Detholiad o'r Tudalen Plentyn
- Tudalen Plentyn Nesaf - Detholiad o'r Tudalen Plentyn
- Tudalen Plentyn Nesaf - Detholiad o'r Tudalen Plentyn