'CartLink', 'CatalogSorting', 'ClassicTemplate', 'ClassicShortcode', 'ComingSoon', 'CustomerAccount', 'FeaturedCategory', 'FeaturedProduct', 'FilterWrapper', 'HandpickedProducts', 'MiniCart', 'StoreNotices', 'PriceFilter', 'ProductBestSellers', 'ProductButton', 'ProductCategories', 'ProductCategory', 'ProductCollection\Controller', 'ProductCollection\NoResults', 'ProductGallery', 'ProductGalleryLargeImage', 'ProductGalleryLargeImageNextPrevious', 'ProductGalleryPager', 'ProductGalleryThumbnails', 'ProductImage', 'ProductImageGallery', 'ProductMeta', 'ProductNew', 'ProductOnSale', 'ProductPrice', 'ProductTemplate', 'ProductQuery', 'ProductAverageRating', 'ProductRating', 'ProductRatingCounter', 'ProductRatingStars', 'ProductResultsCount', 'ProductReviews', 'ProductSaleBadge', 'ProductSearch', 'ProductSKU', 'ProductStockIndicator', 'ProductSummary', 'ProductTag', 'ProductTitle', 'ProductTopRated', 'ProductsByAttribute', 'RatingFilter', 'ReviewsByCategory', 'ReviewsByProduct', 'RelatedProducts', 'ProductDetails', 'SingleProduct', 'StockFilter', 'PageContentWrapper', 'OrderConfirmation\Status', 'OrderConfirmation\Summary', 'OrderConfirmation\Totals', 'OrderConfirmation\TotalsWrapper', 'OrderConfirmation\Downloads', 'OrderConfirmation\DownloadsWrapper', 'OrderConfirmation\BillingAddress', 'OrderConfirmation\ShippingAddress', 'OrderConfirmation\BillingWrapper', 'OrderConfirmation\ShippingWrapper', 'OrderConfirmation\AdditionalInformation', 'OrderConfirmation\AdditionalFieldsWrapper', 'OrderConfirmation\AdditionalFields', 'OrderConfirmation\CreateAccount', ); $block_types = array_merge( $block_types, Cart::get_cart_block_types(), Checkout::get_checkout_block_types(), MiniCartContents::get_mini_cart_block_types() ); // Update plugins/woocommerce-blocks/docs/internal-developers/blocks/feature-flags-and-experimental-interfaces.md // when modifying this list. if ( Features::is_enabled( 'experimental-blocks' ) ) { $block_types[] = 'ProductFilters'; $block_types[] = 'ProductFilterStatus'; $block_types[] = 'ProductFilterPrice'; $block_types[] = 'ProductFilterPriceSlider'; $block_types[] = 'ProductFilterAttribute'; $block_types[] = 'ProductFilterRating'; $block_types[] = 'ProductFilterActive'; $block_types[] = 'ProductFilterRemovableChips'; $block_types[] = 'ProductFilterClearButton'; $block_types[] = 'ProductFilterCheckboxList'; $block_types[] = 'ProductFilterChips'; if ( Features::is_enabled( 'blockified-add-to-cart' ) ) { $block_types[] = 'AddToCartWithOptions'; $block_types[] = 'AddToCartWithOptionsQuantitySelector'; } } /** * This disables specific blocks in Widget Areas by not registering them. */ if ( in_array( $pagenow, array( 'widgets.php', 'themes.php', 'customize.php' ), true ) && ( empty( $_GET['page'] ) || 'gutenberg-edit-site' !== $_GET['page'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification $block_types = array_diff( $block_types, array( 'AllProducts', 'Cart', 'Checkout', 'ProductGallery', 'ProductCollection\Controller', 'ProductCollection\NoResults', ) ); } /** * This disables specific blocks in Post and Page editor by not registering them. */ if ( in_array( $pagenow, array( 'post.php', 'post-new.php' ), true ) ) { $block_types = array_diff( $block_types, array( 'Breadcrumbs', 'CatalogSorting', 'ClassicTemplate', 'ProductResultsCount', 'ProductDetails', 'OrderConfirmation\Status', 'OrderConfirmation\Summary', 'OrderConfirmation\Totals', 'OrderConfirmation\TotalsWrapper', 'OrderConfirmation\Downloads', 'OrderConfirmation\DownloadsWrapper', 'OrderConfirmation\BillingAddress', 'OrderConfirmation\ShippingAddress', 'OrderConfirmation\BillingWrapper', 'OrderConfirmation\ShippingWrapper', 'OrderConfirmation\AdditionalInformation', 'OrderConfirmation\AdditionalFieldsWrapper', 'OrderConfirmation\AdditionalFields', 'ProductGallery', ) ); } /** * Filters the list of allowed block types. * * @since 9.0.0 * * @param array $block_types List of block types. */ return apply_filters( 'woocommerce_get_block_types', $block_types ); } }