Automattic\WooCommerce\Blocks\BlockTypes
ProductCategories::render
Render the Product Categories List block.
Method of the class: ProductCategories{}
No Hooks.
Returns
String
. Rendered block type output.
Usage
// protected - for code of main (parent) or child class $result = $this->render( $attributes, $content, $block );
- $attributes(array) (required)
- Block attributes.
- $content(string) (required)
- Block content.
- $block(WP_Block) (required)
- Block instance.
ProductCategories::render() ProductCategories::render code WC 9.9.4
protected function render( $attributes, $content, $block ) { $uid = uniqid( 'product-categories-' ); $categories = $this->get_categories( $attributes ); if ( empty( $categories ) ) { return ''; } if ( ! empty( $content ) ) { // Deal with legacy attributes (before this was an SSR block) that differ from defaults. if ( strstr( $content, 'data-has-count="false"' ) ) { $attributes['hasCount'] = false; } if ( strstr( $content, 'data-is-dropdown="true"' ) ) { $attributes['isDropdown'] = true; } if ( strstr( $content, 'data-is-hierarchical="false"' ) ) { $attributes['isHierarchical'] = false; } if ( strstr( $content, 'data-has-empty="true"' ) ) { $attributes['hasEmpty'] = true; } } $classes_and_styles = StyleAttributesUtils::get_classes_and_styles_by_attributes( $attributes, array( 'line_height', 'text_color', 'font_size', 'extra_classes' ) ); $classes = $this->get_container_classes( $attributes ) . ' ' . $classes_and_styles['classes']; $styles = $classes_and_styles['styles']; $output = '<div class="wp-block-woocommerce-product-categories ' . esc_attr( $classes ) . '" style="' . esc_attr( $styles ) . '">'; $output .= ! empty( $attributes['isDropdown'] ) ? $this->renderDropdown( $categories, $attributes, $uid ) : $this->renderList( $categories, $attributes, $uid ); $output .= '</div>'; return $output; }