PATH:
home
/
ediuae
/
agrivaingredients.com
/
wp-content
/
plugins
/
woocommerce
/
src
/
Blocks
/
BlockTypes
<?php declare(strict_types=1); namespace Automattic\WooCommerce\Blocks\BlockTypes; /** * ProductDescription class. */ class ProductDescription extends AbstractBlock { /** * Block name. * * @var string */ protected $block_name = 'product-description'; /** * Keeps track of seen product IDs to prevent recursive rendering. * * @var array */ private static $seen_ids = array(); /** * Render the block. * * @param array $attributes Block attributes. * @param string $content Block content. * @param WP_Block $block Block instance. * * @return string Rendered block output. */ protected function render( $attributes, $content, $block ) { // Check if we have a product ID in context. if ( ! isset( $block->context['postId'] ) ) { return ''; } $product_id = $block->context['postId']; // Prevent recursive rendering. if ( isset( self::$seen_ids[ $product_id ] ) ) { if ( defined( 'WP_DEBUG' ) && WP_DEBUG && defined( 'WP_DEBUG_DISPLAY' ) && WP_DEBUG_DISPLAY ) { return __( '[product description rendering halted]', 'woocommerce' ); } return ''; } self::$seen_ids[ $product_id ] = true; // Get the product. $product = wc_get_product( $product_id ); if ( ! $product ) { unset( self::$seen_ids[ $product_id ] ); return ''; } // Get the description content. $description = $product->get_description(); /** * This filter is documented in wp-includes/post-template.php. * We follow core/content block to replace ]]> with ]> */ // phpcs:ignore WooCommerce.Commenting.CommentHooks.MissingHookComment $description = apply_filters( 'the_content', str_replace( ']]>', ']]>', $description ) ); if ( empty( $description ) ) { unset( self::$seen_ids[ $product_id ] ); return ''; } // Remove this product from the seen array. unset( self::$seen_ids[ $product_id ] ); // Add wrapper with block attributes. $wrapper_attributes = get_block_wrapper_attributes( array( 'class' => 'wc-block-product-description' ) ); return sprintf( '<div %1$s>%2$s</div>', $wrapper_attributes, $description ); } /** * Disable the frontend stylesheet for this block type. It does not have one. * * @return null */ protected function get_block_type_style() { return null; } /** * Disable the frontend script for this block type. It does not have one. * * @param string|null $key The script key. * * @return null */ protected function get_block_type_script( $key = null ) { return null; } }
[+]
..
[-] CartItemsBlock.php
[edit]
[-] AllReviews.php
[edit]
[-] ProductFilterClearButton.php
[edit]
[-] CartOrderSummaryFeeBlock.php
[edit]
[-] CartCrossSellsBlock.php
[edit]
[-] CheckoutBillingAddressBlock.php
[edit]
[-] CartOrderSummaryTaxesBlock.php
[edit]
[-] ProductTag.php
[edit]
[-] CartExpressPaymentBlock.php
[edit]
[-] AbstractProductGrid.php
[edit]
[-] ProductSummary.php
[edit]
[-] AbstractBlock.php
[edit]
[-] CheckoutActionsBlock.php
[edit]
[-] CheckoutExpressPaymentBlock.php
[edit]
[-] ReviewsByCategory.php
[edit]
[-] CheckoutOrderSummaryBlock.php
[edit]
[-] ProductGalleryThumbnails.php
[edit]
[-] MiniCartTitleLabelBlock.php
[edit]
[-] ComingSoon.php
[edit]
[-] ClassicTemplate.php
[edit]
[+]
Accordion
[-] FeaturedProduct.php
[edit]
[-] ProductSKU.php
[edit]
[-] PaymentMethodIcons.php
[edit]
[-] PriceFilter.php
[edit]
[-] CheckoutAdditionalInformationBlock.php
[edit]
[-] CheckoutContactInformationBlock.php
[edit]
[-] CartOrderSummaryHeadingBlock.php
[edit]
[-] FilledMiniCartContentsBlock.php
[edit]
[-] ProductCategory.php
[edit]
[-] CartLineItemsBlock.php
[edit]
[-] ProductResultsCount.php
[edit]
[-] ReviewsByProduct.php
[edit]
[+]
ProductCollection
[-] AtomicBlock.php
[edit]
[-] ActiveFilters.php
[edit]
[-] CheckoutOrderSummaryCouponFormBlock.php
[edit]
[-] EnableBlockJsonAssetsTrait.php
[edit]
[-] CartOrderSummaryTotalsBlock.php
[edit]
[-] CheckoutTermsBlock.php
[edit]
[-] ProductOnSale.php
[edit]
[-] PageContentWrapper.php
[edit]
[-] CartOrderSummarySubtotalBlock.php
[edit]
[-] ProductSaleBadge.php
[edit]
[-] CategoryTitle.php
[edit]
[-] ProductGalleryLargeImage.php
[edit]
[-] ProductTemplate.php
[edit]
[-] ProductFilterCheckboxList.php
[edit]
[-] MiniCartCheckoutButtonBlock.php
[edit]
[-] ProductsByAttribute.php
[edit]
[-] EmailContent.php
[edit]
[-] ProductQuery.php
[edit]
[-] CheckoutShippingMethodBlock.php
[edit]
[-] ProductFilterAttribute.php
[edit]
[-] ProductDescription.php
[edit]
[-] CheckoutOrderSummaryDiscountBlock.php
[edit]
[-] MiniCartContents.php
[edit]
[-] ProductFilterTaxonomy.php
[edit]
[-] CheckoutOrderSummarySubtotalBlock.php
[edit]
[-] CheckoutOrderSummaryTaxesBlock.php
[edit]
[-] CartOrderSummaryCouponFormBlock.php
[edit]
[-] FeaturedItem.php
[edit]
[-] CartLink.php
[edit]
[-] CustomerAccount.php
[edit]
[-] SingleProduct.php
[edit]
[-] FeaturedCategory.php
[edit]
[-] FilterWrapper.php
[edit]
[-] EmptyCartBlock.php
[edit]
[-] ProductFilterChips.php
[edit]
[-] ProductImageGallery.php
[edit]
[-] ProductTopRated.php
[edit]
[+]
Reviews
[-] CartOrderSummaryShippingBlock.php
[edit]
[+]
AddToCartWithOptions
[-] ProductAverageRating.php
[edit]
[-] CheckoutShippingAddressBlock.php
[edit]
[-] ProductFilterActive.php
[edit]
[-] ProductPrice.php
[edit]
[-] ProductStockIndicator.php
[edit]
[-] CheckoutTotalsBlock.php
[edit]
[-] MiniCartCartButtonBlock.php
[edit]
[-] CheckoutPickupOptionsBlock.php
[edit]
[-] CartAcceptedPaymentMethodsBlock.php
[edit]
[-] ProductSpecifications.php
[edit]
[-] CheckoutOrderNoteBlock.php
[edit]
[-] ProductFilterPrice.php
[edit]
[-] ProductButton.php
[edit]
[-] MiniCart.php
[edit]
[-] HandpickedProducts.php
[edit]
[-] AttributeFilter.php
[edit]
[-] ProductMeta.php
[edit]
[-] MiniCartShoppingButtonBlock.php
[edit]
[-] ProductImage.php
[edit]
[+]
OrderConfirmation
[-] CheckoutOrderSummaryFeeBlock.php
[edit]
[-] MiniCartItemsBlock.php
[edit]
[-] RatingFilter.php
[edit]
[-] StockFilter.php
[edit]
[-] ProductRating.php
[edit]
[-] MiniCartTitleItemsCounterBlock.php
[edit]
[-] CheckoutFieldsBlock.php
[edit]
[-] StoreNotices.php
[edit]
[-] Checkout.php
[edit]
[-] CartOrderSummaryBlock.php
[edit]
[-] MiniCartTitleBlock.php
[edit]
[-] MiniCartProductsTableBlock.php
[edit]
[-] ProductFilterStatus.php
[edit]
[-] ProductDetails.php
[edit]
[-] CartTotalsBlock.php
[edit]
[-] CartCrossSellsProductsBlock.php
[edit]
[-] EmptyMiniCartContentsBlock.php
[edit]
[-] ProductSearch.php
[edit]
[-] CheckoutOrderSummaryTotalsBlock.php
[edit]
[-] ProductBestSellers.php
[edit]
[-] AddToCartForm.php
[edit]
[-] ProductFilterPriceSlider.php
[edit]
[-] Cart.php
[edit]
[-] RelatedProducts.php
[edit]
[-] ClassicShortcode.php
[edit]
[-] ProductFilterRating.php
[edit]
[-] AbstractDynamicBlock.php
[edit]
[-] ProductTitle.php
[edit]
[-] CheckoutShippingMethodsBlock.php
[edit]
[-] CheckoutOrderSummaryShippingBlock.php
[edit]
[-] CheckoutOrderSummaryCartItemsBlock.php
[edit]
[-] CheckoutPaymentBlock.php
[edit]
[-] ProductRatingStars.php
[edit]
[-] ProductGallery.php
[edit]
[-] NextPreviousButtons.php
[edit]
[-] ProductFilters.php
[edit]
[-] ProductRatingCounter.php
[edit]
[-] ProductCategories.php
[edit]
[-] FilledCartBlock.php
[edit]
[-] CategoryDescription.php
[edit]
[-] CatalogSorting.php
[edit]
[-] AbstractInnerBlock.php
[edit]
[-] Breadcrumbs.php
[edit]
[-] ProductNew.php
[edit]
[-] MiniCartFooterBlock.php
[edit]
[-] ProductFilterRemovableChips.php
[edit]
[-] CartOrderSummaryDiscountBlock.php
[edit]
[-] ProceedToCheckoutBlock.php
[edit]
[-] AllProducts.php
[edit]