deny-list-blocks.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. wp.domReady(() => {
  2. if (!wp.blocks) {
  3. console.error('WordPress Blocks API not available');
  4. return;
  5. }
  6. const embedBlockTypes = [
  7. 'scribd', 'amazon-kindle', 'animoto', 'bluesky', 'cloudup',
  8. 'collegehumor', 'crowdsignal', 'dailymotion', 'facebook',
  9. 'flickr', 'imgur', 'instagram', 'issuu', 'kickstarter',
  10. 'meetup-com', 'mixcloud', 'pinterest', 'pocket-casts',
  11. 'reddit', 'reverbnation', 'screencast', 'slideshare',
  12. 'smugmug', 'soundcloud', 'speaker-deck', 'spotify', 'ted',
  13. 'tiktok', 'tumblr', 'twitter', 'videopress', 'vimeo',
  14. 'wolfram-cloud', 'wordpress', 'wordpress-tv', 'youtube'
  15. ].map(type => `core/embed/${type}`);
  16. const coreBlockTypes = [
  17. 'core/verse',
  18. 'core/freeform',
  19. 'core/archives',
  20. 'core/calendar',
  21. 'core/tag-cloud',
  22. 'core/rss',
  23. 'core/latest-comments',
  24. 'core/social-links'
  25. ];
  26. [...embedBlockTypes, ...coreBlockTypes].forEach(blockName => {
  27. try {
  28. if (wp.blocks.getBlockType(blockName)) {
  29. wp.blocks.unregisterBlockType(blockName);
  30. console.log(`Unregistered block: ${blockName}`);
  31. }
  32. } catch (error) {
  33. console.warn(`Failed to unregister ${blockName}:`, error);
  34. }
  35. });
  36. });