NEXT craftinamerica.org. Base setup for headless wordpress https://www.craftinamerica.org
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

reformat-blocks.php 1.6KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. function get_ids_from_gallery_block($blocks){
  3. $parsed_blocks = array();
  4. foreach ($blocks as $block) {
  5. if($block[blockName] === "core/gallery") {
  6. if(count($block[attrs][ids]) < 1) {
  7. $gallery_imgs_ids = [];
  8. foreach($block[innerBlocks] as $inner) {
  9. $inner_id = $inner[attrs][id];
  10. array_push($gallery_imgs_ids, $inner_id);
  11. }
  12. $block[attrs][ids] = $gallery_imgs_ids;
  13. }
  14. array_push($parsed_blocks, $block[attrs]);
  15. } elseif ($block[blockName] === "core/image") {
  16. $ids = [];
  17. $galleryFormat = [];
  18. array_push($ids, $block[attrs][id]);
  19. $galleryFormat[ids] = $ids;
  20. $galleryFormat[columns] = 1;
  21. $galleryFormat[linkTo] = 'none';
  22. array_push($parsed_blocks, $galleryFormat);
  23. }
  24. }
  25. return $parsed_blocks;
  26. }
  27. function get_images_from_content($content) {
  28. $parse_images = array();
  29. $dom = new DOMDocument();
  30. @ $dom->loadHTML($content);
  31. $images = $dom->getElementsByTagName('img');
  32. foreach ($images as $image) {
  33. if($image->getAttribute('data-id')) {
  34. $parse_images[$image->getAttribute('data-id')] = $image->getAttribute('src');
  35. } else {
  36. $class_pieces = explode("-", $image->getAttribute('class'));
  37. $parse_images[end($class_pieces)] = $image->getAttribute('src');
  38. }
  39. }
  40. return $parse_images;
  41. }
  42. ?>