Automattic\WooCommerce\Blocks\BlockTypes
ProductDetails::create_accordion_item_block
Create an accordion item block.
Method of the class: ProductDetails{}
No Hooks.
Returns
Array. Accordion item.
Usage
// private - for code of main (parent) class only $result = $this->create_accordion_item_block( $title, $content, $anchor_block );
- $title(string) (required)
- Title of the accordion item.
- $content(string) (required)
- Content of the accordion item as block markup.
- $anchor_block(array) (required)
- Accordion anchor block to determine which item block to create.
ProductDetails::create_accordion_item_block() ProductDetails::create accordion item block code WC 10.8.1
private function create_accordion_item_block( $title, $content, $anchor_block ) {
if ( isset( $anchor_block['blockName'] ) && 'core/accordion' === $anchor_block['blockName'] ) {
$template = '<!-- wp:accordion-item -->
<div class="wp-block-accordion-item">
<!-- wp:accordion-heading -->
<h3 class="wp-block-accordion-heading">
<button class="wp-block-accordion-heading__toggle">
<span class="wp-block-accordion-heading__toggle-title">%1$s</span>
<span class="wp-block-accordion-heading__toggle-icon" aria-hidden="true">+</span>
</button>
</h3>
<!-- /wp:accordion-heading -->
<!-- wp:accordion-panel -->
<div class="wp-block-accordion-panel">
%2$s
</div>
<!-- /wp:accordion-panel -->
</div>
<!-- /wp:accordion-item -->';
} else {
$template = '<!-- wp:woocommerce/accordion-item -->
<div class="wp-block-woocommerce-accordion-item"><!-- wp:woocommerce/accordion-header -->
<h3 class="wp-block-woocommerce-accordion-header accordion-item__heading">
<button class="accordion-item__toggle">
<span>%1$s</span>
<span class="accordion-item__toggle-icon has-icon-plus" style="width:1.2em;height:1.2em"><svg width="1.2em" height="1.2em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path d="M11 12.5V17.5H12.5V12.5H17.5V11H12.5V6H11V11H6V12.5H11Z" fill="currentColor"></path></svg></span>
</button>
</h3>
<!-- /wp:woocommerce/accordion-header -->
<!-- wp:woocommerce/accordion-panel -->
<div class="wp-block-woocommerce-accordion-panel"><div class="accordion-content__wrapper">
%2$s
</div></div>
<!-- /wp:woocommerce/accordion-panel --></div>
<!-- /wp:woocommerce/accordion-item -->';
}
return parse_blocks( sprintf( $template, $title, $content ) )[0];
}