NEXT craftinamerica.org. Base setup for headless wordpress https://www.craftinamerica.org
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. <?php
  2. function make_taxonomy_endpoint_for( $terms ) {
  3. $type_slugs = [];
  4. foreach ($terms as $type_slug):
  5. array_push($type_slugs, $type_slug->slug);
  6. endforeach;
  7. return $type_slugs;
  8. }
  9. function default_post_format( $item ) {
  10. $filtered = array();
  11. $filtered[id] = $item->ID;
  12. $filtered[slug] = $item->post_name;
  13. $filtered[type] = $item->post_type;
  14. $filtered[title] = $item->post_title;
  15. $filtered[excerpt] = $item->post_excerpt;
  16. $filtered[date] = $item->post_date;
  17. $filtered[content] = $item->post_content;
  18. $filtered[hero] = get_post_meta( $item->ID, 'hero_header', true );
  19. // Materials + type endpoints
  20. // if($item->post_type === 'artist' || $item->post_type === 'event' || $item->post_type === 'exhibition') {
  21. $posts_with_type = ['artist', 'exhbition', 'event'];
  22. if(in_array($item->post_type, $posts_with_type)) {
  23. $filtered[materials] = make_taxonomy_endpoint_for(get_the_terms( $item, 'material' ));
  24. $filtered[type] = make_taxonomy_endpoint_for(get_the_terms( $item, $item->post_type . '_type' ));
  25. }
  26. // Custom fields endpoint
  27. if($item->post_type === 'artist') $filtered[sortname] = get_post_meta( $item->ID, 'artist-sort-name', true );
  28. // Post categories and tags (store just the slugs)
  29. if($item->post_type === 'post') {
  30. $filtered[categories] = make_taxonomy_endpoint_for(get_the_terms( $item, 'category' ));
  31. $filtered[tags] = make_taxonomy_endpoint_for(get_the_terms( $item, 'post_tag' ));
  32. }
  33. return $filtered;
  34. }
  35. ?>