Automattic\WooCommerce\Blocks\BlockTypes
FeaturedCategory{}
FeaturedCategory class.
No Hooks.
Usage
$FeaturedCategory = new FeaturedCategory(); // use class methods
Methods
- protected get_block_type_attributes()
- protected get_item( $attributes )
- protected get_item_image( $category, $size = 'full' )
- protected get_item_title( $category )
- protected render_attributes( $category, $attributes )
FeaturedCategory{} FeaturedCategory{} code WC 9.6.1
class FeaturedCategory extends FeaturedItem { /** * Block name. * * @var string */ protected $block_name = 'featured-category'; /** * Get block attributes. * * @return array */ protected function get_block_type_attributes() { return array_merge( parent::get_block_type_attributes(), array( 'textColor' => $this->get_schema_string(), 'fontSize' => $this->get_schema_string(), 'lineHeight' => $this->get_schema_string(), 'style' => array( 'type' => 'object' ), ) ); } /** * Returns the featured category. * * @param array $attributes Block attributes. Default empty array. * @return \WP_Term|null */ protected function get_item( $attributes ) { $id = absint( $attributes['categoryId'] ?? 0 ); $category = get_term( $id, 'product_cat' ); if ( ! $category || is_wp_error( $category ) ) { return null; } return $category; } /** * Returns the name of the featured category. * * @param \WP_Term $category Featured category. * @return string */ protected function get_item_title( $category ) { return $category->name; } /** * Returns the featured category image URL. * * @param \WP_Term $category Term object. * @param string $size Image size, defaults to 'full'. * @return string */ protected function get_item_image( $category, $size = 'full' ) { $image = ''; $image_id = get_term_meta( $category->term_id, 'thumbnail_id', true ); if ( $image_id ) { $image = wp_get_attachment_image_url( $image_id, $size ); } return $image; } /** * Renders the featured category attributes. * * @param \WP_Term $category Term object. * @param array $attributes Block attributes. Default empty array. * @return string */ protected function render_attributes( $category, $attributes ) { $title = sprintf( '<h2 class="wc-block-featured-category__title">%s</h2>', wp_kses_post( $category->name ) ); $desc_str = sprintf( '<div class="wc-block-featured-category__description">%s</div>', wc_format_content( wp_kses_post( $category->description ) ) ); $output = $title; if ( $attributes['showDesc'] ) { $output .= $desc_str; } return $output; } }