/var/www/html_nl/wp-includes/blocks/accordion.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<?php
/**
 * Server-side rendering of the `core/accordion` block.
 *
 * @package WordPress
 * @since 6.9.0
 *
 * @param array $attributes The block attributes.
 * @param string $content The block content.
 *
 * @return string Returns the updated markup.
 */
function render_block_core_accordion$attributes$content ) {
    if ( ! 
$content ) {
        return 
$content;
    }

    
$p         = new WP_HTML_Tag_Processor$content );
    
$autoclose $attributes['autoclose'] ? 'true' 'false';

    if ( 
$p->next_tag( array( 'class_name' => 'wp-block-accordion' ) ) ) {
        
$p->set_attribute'data-wp-interactive''core/accordion' );
        
$p->set_attribute'data-wp-context''{ "autoclose": ' $autoclose ', "accordionItems": [] }' );

        
// Only modify content if directives have been set.
        
$content $p->get_updated_html();
    }

    return 
$content;
}

/**
 * Registers the `core/accordion` block on server.
 *
 * @since 6.9.0
 */
function register_block_core_accordion() {
    
register_block_type_from_metadata(
        
__DIR__ '/accordion',
        array(
            
'render_callback' => 'render_block_core_accordion',
        )
    );
}
add_action'init''register_block_core_accordion' );