Ticket #5411: 5411-wip.diff
File 5411-wip.diff, 2.6 KB (added by , 4 years ago) |
---|
-
template-parts/section-blocks.php
13 13 14 14 $classes = [ 'plugin-' . $section_slug, 'section' ]; 15 15 $classes = implode( ' ', $classes ); 16 17 $allowed_svg = array( 18 'svg' => array( 19 'class' => true, 20 'aria-hidden' => true, 21 'aria-labelledby' => true, 22 'role' => true, 23 'xmlns' => true, 24 'width' => true, 25 'height' => true, 26 'viewbox' => true, 27 ), 28 'g' => array( 'fill' => true ), 29 'title' => array( 'title' => true ), 30 'path' => array( 31 'd' => true, 32 'fill' => true, 33 'transform' => true, 34 ), 35 ); 36 16 37 ?> 38 <style> 39 .block-icon { 40 display: inline-block; 41 width: 1rem; 42 height: 1rem; 43 } 44 .block-icon svg { 45 min-width: 24px; 46 min-height: 24px; 47 max-width: 1rem; 48 max-height: 1rem; 49 fill: currentColor; 50 } 51 </style> 17 52 18 53 <div id="<?php echo esc_attr( $prefix . $section_slug ); ?>" class="<?php echo esc_attr( $classes ); ?>"> 19 54 <h2 id="<?php echo esc_attr( $section_slug . '-header' ); ?>"><?php echo esc_html( $section['title'] ); ?></h2> … … 20 55 21 56 <p><?php printf( esc_html( _n( 'This plugin provides %d block.', 'This plugin provides %d blocks.', count( $section_content ), 'wporg-plugins' ) ), count( $section_content ) ); ?></p> 22 57 <dl> 23 <?php foreach ( $section_content as $block ) : ?> 24 <dt><?php if ( isset( $block->name ) ) echo esc_html( $block->name ); ?></dt> 25 <dd><?php if ( isset( $block->title ) ) echo esc_html( $block->title ); ?></dd> 58 <?php foreach ( $section_content as $block ) : 59 $block_name = isset( $block->title ) ? $block->title : false; 60 if ( ! $block_name ) { 61 $block_name = isset( $block->name ) ? $block->name : false; 62 } 63 if ( ! $block_name ) { 64 // If we still have no name, we don't have a valid block. 65 continue; 66 } 67 $block_icon = isset( $block->icon ) ? $block->icon : ''; 68 ?> 69 <dt> 70 <?php if ( false !== strpos( $block_icon, '<svg' ) ) : ?> 71 <span class="block-icon"> 72 <?php echo wp_kses( str_replace( '<svg ', '<svg role="img" aria-hidden="true" focusable="false" ', $block_icon ), $allowed_svg ); ?> 73 </span> 74 <?php elseif ( $block_icon ) : ?> 75 <span class="block-icon dashicons dashicons-<?php echo esc_attr( $block->icon ); ?>"></span> 76 <?php endif; ?> 77 <?php echo esc_html( $block_name ); ?> 78 </dt> 79 <?php if ( isset( $block->description ) ) : ?> 80 <dd><?php echo esc_html( $block->description ); ?></dd> 81 <?php endif; ?> 26 82 <?php endforeach; ?> 27 83 </dl> 28 84 </div>