Changeset 58927
- Timestamp:
- 08/23/2024 10:45:54 PM (6 weeks ago)
- Location:
- trunk/src
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/js/_enqueues/admin/site-icon.js
r57713 r58927 189 189 $removeButton.removeClass( 'hidden' ); 190 190 191 // Set the global CSS variable for --site-icon-url to the selected image URL. 192 document.documentElement.style.setProperty( 193 '--site-icon-url', 194 'url(' + attributes.url + ')' 195 ); 196 191 197 // If the choose button is not in the update state, swap the classes. 192 198 if ( $chooseButton.attr( 'data-state' ) !== '1' ) { -
trunk/src/js/media/views/site-icon-preview.js
r46586 r58927 16 16 */ 17 17 SiteIconPreview = View.extend(/** @lends wp.media.view.SiteIconPreview.prototype */{ 18 className: 'site-icon-preview ',19 template: wp.template( 'site-icon-preview ' ),18 className: 'site-icon-preview-crop-modal', 19 template: wp.template( 'site-icon-preview-crop' ), 20 20 21 21 ready: function() { … … 35 35 var rx = 64 / coords.width, 36 36 ry = 64 / coords.height, 37 preview_rx = 16/ coords.width,38 preview_ry = 16/ coords.height;37 preview_rx = 24 / coords.width, 38 preview_ry = 24 / coords.height; 39 39 40 40 $( '#preview-app-icon' ).css({ -
trunk/src/wp-admin/css/customize-controls.css
r58146 r58927 394 394 } 395 395 396 #customize-control-site_icon .customize-control-description, 396 397 #customize-control-changeset_scheduled_date .customize-control-description { 397 398 font-style: normal; … … 1067 1068 } 1068 1069 1069 /* Remove descender space. */1070 .customize-control-site_icon .favicon-preview .browser-preview {1071 vertical-align: top;1072 }1073 1070 1074 1071 .customize-control .thumbnail-image img { -
trunk/src/wp-admin/css/forms.css
r58146 r58927 804 804 line-height: 1.6; 805 805 max-width: 270px; 806 border-radius: 4px; 807 background: #f0f0f1; 806 808 } 807 809 … … 809 811 .button-add-site-icon:hover { 810 812 background: #fff; 811 }812 813 .site-icon-section .favicon-preview {814 float: left;815 }816 .site-icon-section .app-icon-preview {817 float: left;818 margin: 0 20px;819 }820 821 .site-icon-section .site-icon-preview img {822 max-width: 100%;823 813 } 824 814 -
trunk/src/wp-admin/css/site-icon.css
r57713 r58927 3 3 ------------------------------------------------------------------------------*/ 4 4 5 .site-icon-preview .favicon-preview { 6 margin: 5px 0 20px; 5 .site-icon-section { 6 --site-icon-removal: #b32d2e; 7 } 8 9 .site-icon-preview { 10 --site-icon-input-border: #8c8f94; 11 --site-icon-preview-background: #fff; 12 --site-icon-preview-browser-top: #dcdcde; 13 --site-icon-preview-browser-bottom: #a7aaad; 14 --site-icon-preview-browser-border: rgba(255, 255, 255, 0.2); 15 --site-icon-address-bar-background: #f0f0f1; 16 --site-icon-address-bar-close: #646970; 17 --site-icon-address-bar-text: #3c434a; 18 --site-icon-shadow-1: rgba(0, 0, 0, 0.1); 19 --site-icon-shadow-2: rgba(0, 0, 0, 0.2); 20 --site-icon-shadow-3: rgba(0, 0, 0, 0.5); 21 22 direction: initial; 23 display: flex; 24 height: 60px; 25 padding: 8px 0 0 8px; 26 align-items: flex-start; 27 position: relative; 7 28 overflow: hidden; 8 position: relative; 9 max-width: 180px; 10 } 11 12 .site-icon-preview .favicon, 13 .site-icon-preview .browser-title { 14 height: 16px; 15 left: 88px; 29 box-sizing: border-box; 30 border: 1px solid var(--site-icon-input-border); 31 border-radius: 4px; 32 background-color: var(--site-icon-preview-background); 33 width: 275px; 34 } 35 36 @media (prefers-color-scheme: dark) { 37 .site-icon-preview { 38 --site-icon-preview-browser-top: #2c3338; 39 --site-icon-preview-browser-bottom: #111; 40 --site-icon-address-bar-background: #3c434a; 41 --site-icon-address-bar-close: #f0f0f1; 42 --site-icon-address-bar-text: #f0f0f1; 43 } 44 } 45 46 .site-icon-preview.settings { 47 height: 88px; 48 padding: 16px 0 0 16px; 49 width: 350px; 50 margin: 0 0 16px 0; 51 } 52 53 .site-icon-preview.crop { 54 width: 258px; 55 height: 100%; 56 display: grid; 57 grid-template-columns: 8px 1fr; 58 grid-template-rows: 64px 1fr; 59 padding-left: 0; 60 row-gap: 16px; 61 direction: inherit; 62 } 63 64 .site-icon-preview.hidden { 65 display: none; 66 } 67 68 .site-icon-preview .direction-wrap { 69 grid-template-columns: 44px 1fr; 70 gap: 8px; 71 display: grid; 72 direction: ltr; 73 height: 100%; 74 width: 100%; 75 } 76 77 .site-icon-preview.settings .direction-wrap { 78 grid-template-columns: 58px 1fr; 79 gap: 16px; 80 } 81 82 .site-icon-preview:after { 83 --after-size: 150%; 84 aspect-ratio: 1/1; 85 content: ""; 86 display: block; 87 position: absolute; 88 top: 0; 89 left: 0; 90 width: var(--after-size);; 91 transform: translate(calc(var(--after-size) * -0.125), calc(var(--after-size) * -0.125)); 92 filter: blur(5px); 93 opacity: 0.5; 94 background: var(--site-icon-url); 95 } 96 97 .site-icon-preview .app-icon-preview { 98 aspect-ratio: 1/1; 99 border-radius: 10px; 100 box-shadow: 0 1px 5px 0 var(--site-icon-shadow-3); 101 flex-shrink: 0; 102 width: 100%; 103 z-index: 1; 104 } 105 106 .site-icon-preview-browser { 107 display: flex; 108 padding: 4px 4px 0 12px; 109 align-items: flex-start; 110 gap: 16px; 111 flex: 1 0 0; 112 z-index: 1; 113 border-top-left-radius: 10px; 114 border-top: 1px solid var(--site-icon-preview-browser-border); 115 border-left: 1px solid var(--site-icon-preview-browser-border); 116 background: linear-gradient(180deg, var(--site-icon-preview-browser-top) 0%, var(--site-icon-preview-browser-bottom) 100%); 117 box-shadow: 0 10px 22px 0 var(--site-icon-shadow-2); 118 } 119 120 .site-icon-preview .browser-buttons { 121 width: 48px; 122 height: 40px; 123 fill: var(--site-icon-input-border); 124 } 125 126 .site-icon-preview-tab { 127 padding: 8px; 128 align-items: center; 129 gap: 8px; 130 flex: 1 0 0; 131 border-radius: 4px; 132 background-color: var(--site-icon-address-bar-background); 133 box-shadow: 0 1px 3px 0 var(--site-icon-shadow-1); 134 display: grid; 135 grid-template-columns: 24px auto 24px; 136 } 137 138 .site-icon-preview-browser .browser-icon-preview { 139 box-shadow: 0 0 20px 0 var(--site-icon-shadow-1); 140 } 141 142 .site-icon-preview-tab > img, 143 .site-icon-preview-tab > svg { 144 width: 24px; 145 height: 24px; 146 } 147 148 .site-icon-preview-tab > svg { 149 fill: var(--site-icon-address-bar-close); 150 } 151 152 .site-icon-preview-site-title { 153 color: var(--site-icon-address-bar-text); 154 text-overflow: ellipsis; 155 white-space: nowrap; 16 156 overflow: hidden; 17 position: absolute; 18 top: 16px; 19 } 20 21 .site-icon-preview .favicon { 22 width: 16px; 23 } 24 25 .site-icon-preview .browser-title { 26 left: 109px; 27 width: 72px; 28 white-space: nowrap; 29 } 30 31 .site-icon-preview .app-icon-preview { 32 background-color: #000; 33 border-radius: 16px; 157 font-weight: 500; 158 } 159 160 .site-icon-preview-crop-modal .image-preview-wrap.app-icon-preview { 161 width: 64px; 34 162 height: 64px; 163 margin: 0; 164 grid-column: 2; 165 } 166 167 .site-icon-preview-crop-modal .site-icon-preview-browser { 168 grid-column: 2; 169 } 170 171 .site-icon-preview-crop-modal .image-preview-wrap { 35 172 overflow: hidden; 36 width: 64px; 37 margin-top: 5px; 38 } 39 40 /* rtl:ignore */ 41 .site-icon-preview .favicon, 42 .site-icon-preview .app-icon-preview { 43 direction: ltr; 44 } 45 46 .customize-control-site_icon .favicon-preview { 47 float: left; 48 margin-right: 12px; 49 margin-bottom: 0; 50 } 51 52 .customize-control-site_icon .app-icon-preview { 53 margin-top: 9px; 54 } 55 56 .site-icon-section button.reset { 57 color: #b32d2e; 173 aspect-ratio: 1/1; 174 } 175 176 .site-icon-preview-crop-modal .image-preview-wrap.browser { 177 width: 24px; 178 height: 24px; 179 } 180 181 button.reset.remove-site-icon { 182 color: var(--site-icon-removal); 58 183 text-decoration: none; 59 184 border-color: transparent; … … 62 187 } 63 188 64 .site-icon-section button.reset:focus,65 .site-icon-section button.reset:hover {66 background: #b32d2e;189 button.reset.remove-site-icon:focus, 190 button.reset.remove-site-icon:hover { 191 background: var(--site-icon-removal); 67 192 color: #fff; 68 border-color: #b32d2e;69 box-shadow: 0 0 0 1px #b32d2e;70 } 71 72 .site-icon- section .action-buttons {193 border-color: var(--site-icon-removal); 194 box-shadow: 0 0 0 1px var(--site-icon-removal); 195 } 196 197 .site-icon-action-buttons { 73 198 display: flex; 74 199 flex-wrap: wrap; -
trunk/src/wp-admin/options-general.php
r57833 r58927 125 125 $browser_icon_alt_value = ''; 126 126 127 $site_icon_url = get_site_icon_url(); 128 127 129 if ( $site_icon_id ) { 128 130 $img_alt = get_post_meta( $site_icon_id, '_wp_attachment_image_alt', true ); 129 $filename = wp_basename( get_site_icon_url());131 $filename = wp_basename( $site_icon_url ); 130 132 $app_icon_alt_value = sprintf( 131 133 /* translators: %s: The selected image filename. */ … … 156 158 ?> 157 159 158 159 <div id="site-icon-preview" class="site-icon-preview wp-clearfix settings-page-preview <?php echo esc_attr( $classes_for_wrapper ); ?>"> 160 <div class="favicon-preview"> 161 <img src="<?php echo esc_url( admin_url( 'images/' . ( is_rtl() ? 'browser-rtl.png' : 'browser.png' ) ) ); ?>" class="browser-preview" width="182" alt=""> 162 <div class="favicon"> 163 <img id="browser-icon-preview" src="<?php site_icon_url(); ?>" alt="<?php echo esc_attr( $browser_icon_alt_value ); ?>"> 160 <style> 161 :root { 162 --site-icon-url: url( '<?php echo esc_url( $site_icon_url ); ?>' ); 163 } 164 </style> 165 166 <div id="site-icon-preview" class="site-icon-preview settings <?php echo esc_attr( $classes_for_wrapper ); ?>"> 167 <div class="direction-wrap"> 168 <img id="app-icon-preview" src="<?php echo esc_url( $site_icon_url ); ?>" class="app-icon-preview" alt="<?php echo esc_attr( $app_icon_alt_value ); ?>" /> 169 <div class="site-icon-preview-browser"> 170 <svg role="img" aria-hidden="true" fill="none" xmlns="http://www.w3.org/2000/svg" class="browser-buttons"><path fill-rule="evenodd" clip-rule="evenodd" d="M0 20a6 6 0 1 1 12 0 6 6 0 0 1-12 0Zm18 0a6 6 0 1 1 12 0 6 6 0 0 1-12 0Zm24-6a6 6 0 1 0 0 12 6 6 0 0 0 0-12Z" /></svg> 171 <div class="site-icon-preview-tab"> 172 <img id="browser-icon-preview" src="<?php echo esc_url( $site_icon_url ); ?>" class="browser-icon-preview" alt="<?php echo esc_attr( $browser_icon_alt_value ); ?>" /> 173 <div class="site-icon-preview-site-title" id="site-icon-preview-site-title" aria-hidden="true"><?php bloginfo( 'name' ); ?></div> 174 <svg role="img" aria-hidden="true" fill="none" xmlns="http://www.w3.org/2000/svg" class="close-button"> 175 <path d="M12 13.0607L15.7123 16.773L16.773 15.7123L13.0607 12L16.773 8.28772L15.7123 7.22706L12 10.9394L8.28771 7.22705L7.22705 8.28771L10.9394 12L7.22706 15.7123L8.28772 16.773L12 13.0607Z" /> 176 </svg> 177 </div> 178 </div> 164 179 </div> 165 <span id="site-icon-preview-site-title" class="browser-title" aria-hidden="true"><?php bloginfo( 'name' ); ?></span>166 180 </div> 167 <img id="app-icon-preview" class="app-icon-preview" src="<?php site_icon_url(); ?>" alt="<?php echo esc_attr( $app_icon_alt_value ); ?>">168 181 </div> 169 182 170 183 <input type="hidden" name="site_icon" id="site_icon_hidden_field" value="<?php form_option( 'site_icon' ); ?>" /> 171 <div class=" action-buttons">184 <div class="site-icon-action-buttons"> 172 185 <button type="button" 173 186 id="choose-from-library-button" … … 191 204 id="js-remove-site-icon" 192 205 type="button" 193 <?php echo has_site_icon() ? 'class="button button-secondary reset "' : 'class="button button-secondary reset hidden"'; ?>206 <?php echo has_site_icon() ? 'class="button button-secondary reset remove-site-icon"' : 'class="button button-secondary reset hidden"'; ?> 194 207 > 195 208 <?php _e( 'Remove Site Icon' ); ?> … … 199 212 <p class="description"> 200 213 <?php 201 /* translators: %s: Site Icon size in pixels. */ 202 printf( __( 'The Site Icon is what you see in browser tabs, bookmark bars, and within the WordPress mobile apps. It should be square and at least %s pixels.' ), '<code>512 × 512</code>' ); 214 printf( 215 /* translators: 1: pixel value for icon size. 2: pixel value for icon size. */ 216 __( 'The Site Icon is what you see in browser tabs, bookmark bars, and within the WordPress mobile apps. It should be square and at least <code>%1$s by %2$s</code> pixels.' ), 217 512, 218 512 219 ); 203 220 ?> 204 221 </p> -
trunk/src/wp-includes/class-wp-customize-manager.php
r58682 r58927 5204 5204 'label' => __( 'Site Icon' ), 5205 5205 'description' => sprintf( 5206 /* translators: %s: Site Icon size in pixels. */ 5207 '<p>' . __( 'The Site Icon is what you see in browser tabs, bookmark bars, and within the WordPress mobile apps. It should be square and at least %s pixels.' ) . '</p>', 5208 '<code>512 × 512</code>' 5206 /* translators: 1: pixel value for icon size. 2: pixel value for icon size. */ 5207 '<p>' . __( 'The Site Icon is what you see in browser tabs, bookmark bars, and within the WordPress mobile apps. It should be square and at least <code>%1$s by %2$s</code> pixels.' ) . '</p>', 5208 512, 5209 512 5209 5210 ), 5210 5211 'section' => 'title_tagline', -
trunk/src/wp-includes/css/media-views.css
r58917 r58927 2533 2533 } 2534 2534 2535 .options-general-php .crop-content.site-icon { 2535 .options-general-php .crop-content.site-icon, 2536 .wp-customizer:not(.mobile) .media-frame-content .crop-content.site-icon { 2536 2537 margin-right: 262px; 2537 2538 } … … 2833 2834 } 2834 2835 2835 .options-general-php .crop-content.site-icon { 2836 .options-general-php .crop-content.site-icon, 2837 .wp-customizer:not(.mobile) .media-frame-content .crop-content.site-icon { 2836 2838 margin-right: 0; 2837 2839 } -
trunk/src/wp-includes/customize/class-wp-customize-site-icon-control.php
r57730 r58927 55 55 <span class="customize-control-title">{{ data.label }}</span> 56 56 <# } #> 57 <# if ( data.description ) { #>58 <span class="description customize-control-description">{{{ data.description }}}</span>59 <# } #>60 57 61 58 <# if ( data.attachment && data.attachment.id ) { #> 62 59 <div class="attachment-media-view"> 63 60 <# if ( data.attachment.sizes ) { #> 64 <div class="site-icon-preview wp-clearfix"> 65 <div class="favicon-preview"> 66 <img src="<?php echo esc_url( admin_url( 'images/' . ( is_rtl() ? 'browser-rtl.png' : 'browser.png' ) ) ); ?>" class="browser-preview" width="182" alt="" /> 67 68 <div class="favicon"> 69 <img src="{{ data.attachment.sizes.full ? data.attachment.sizes.full.url : data.attachment.url }}" alt="{{ 70 data.attachment.alt ? 71 wp.i18n.sprintf( 72 <?php 73 /* translators: %s: The selected image alt text. */ 74 echo wp_json_encode( __( 'Browser icon preview: Current image: %s' ) ); 75 ?> 76 , 77 data.attachment.alt 78 ) : 79 wp.i18n.sprintf( 80 <?php 81 /* translators: %s: The selected image filename. */ 82 echo wp_json_encode( __( 'Browser icon preview: The current image has no alternative text. The file name is: %s' ) ); 83 ?> 84 , 85 data.attachment.filename 86 ) 87 }}" /> 61 <style> 62 :root{ 63 --site-icon-url: url( '{{ data.attachment.sizes.full ? data.attachment.sizes.full.url : data.attachment.url }}' ); 64 } 65 </style> 66 <div class="site-icon-preview customizer"> 67 <div class="direction-wrap"> 68 <img src="{{ data.attachment.sizes.full ? data.attachment.sizes.full.url : data.attachment.url }}" class="app-icon-preview" alt="{{ 69 data.attachment.alt ? 70 wp.i18n.sprintf( 71 <?php 72 /* translators: %s: The selected image alt text. */ 73 echo wp_json_encode( __( 'App icon preview: Current image: %s' ) ) 74 ?> 75 , 76 data.attachment.alt 77 ) : 78 wp.i18n.sprintf( 79 <?php 80 /* translators: %s: The selected image filename. */ 81 echo wp_json_encode( __( 'App icon preview: The current image has no alternative text. The file name is: %s' ) ); 82 ?> 83 , 84 data.attachment.filename 85 ) 86 }}" /> 87 <div class="site-icon-preview-browser"> 88 <svg role="img" aria-hidden="true" fill="none" xmlns="http://www.w3.org/2000/svg" class="browser-buttons"><path fill-rule="evenodd" clip-rule="evenodd" d="M0 20a6 6 0 1 1 12 0 6 6 0 0 1-12 0Zm18 0a6 6 0 1 1 12 0 6 6 0 0 1-12 0Zm24-6a6 6 0 1 0 0 12 6 6 0 0 0 0-12Z" /></svg> 89 <div class="site-icon-preview-tab"> 90 <img src="{{ data.attachment.sizes.full ? data.attachment.sizes.full.url : data.attachment.url }}" class="browser-icon-preview" alt="{{ 91 data.attachment.alt ? 92 wp.i18n.sprintf( 93 <?php 94 /* translators: %s: The selected image alt text. */ 95 echo wp_json_encode( __( 'Browser icon preview: Current image: %s' ) ); 96 ?> 97 , 98 data.attachment.alt 99 ) : 100 wp.i18n.sprintf( 101 <?php 102 /* translators: %s: The selected image filename. */ 103 echo wp_json_encode( __( 'Browser icon preview: The current image has no alternative text. The file name is: %s' ) ); 104 ?> 105 , 106 data.attachment.filename 107 ) 108 }}" /> 109 <div class="site-icon-preview-site-title" aria-hidden="true"><# print( '<?php echo esc_js( get_bloginfo( 'name' ) ); ?>' ) #></div> 110 <svg role="img" aria-hidden="true" fill="none" xmlns="http://www.w3.org/2000/svg" class="close-button"> 111 <path d="M12 13.0607L15.7123 16.773L16.773 15.7123L13.0607 12L16.773 8.28772L15.7123 7.22706L12 10.9394L8.28771 7.22705L7.22705 8.28771L10.9394 12L7.22706 15.7123L8.28772 16.773L12 13.0607Z" /> 112 </svg> 113 </div> 114 </div> 88 115 </div> 89 <span class="browser-title" aria-hidden="true"><# print( '<?php echo esc_js( get_bloginfo( 'name' ) ); ?>' ) #></span>90 116 </div> 91 <img class="app-icon-preview" src="{{ data.attachment.sizes.full ? data.attachment.sizes.full.url : data.attachment.url }}" alt="{{92 data.attachment.alt ?93 wp.i18n.sprintf(94 <?php95 /* translators: %s: The selected image alt text. */96 echo wp_json_encode( __( 'App icon preview: Current image: %s' ) )97 ?>98 ,99 data.attachment.alt100 ) :101 wp.i18n.sprintf(102 <?php103 /* translators: %s: The selected image filename. */104 echo wp_json_encode( __( 'App icon preview: The current image has no alternative text. The file name is: %s' ) );105 ?>106 ,107 data.attachment.filename108 )109 }}"/>110 117 </div> 111 118 <# } #> … … 129 136 </div> 130 137 <# } #> 138 <# if ( data.description ) { #> 139 <span class="description customize-control-description">{{{ data.description }}}</span> 140 <# } #> 131 141 <?php 132 142 } -
trunk/src/wp-includes/media-template.php
r58774 r58927 1543 1543 1544 1544 <?php // Template for the Site Icon preview, used for example in the Customizer. ?> 1545 <script type="text/html" id="tmpl-site-icon-preview"> 1546 <h2><?php _e( 'Preview' ); ?></h2> 1547 <strong aria-hidden="true"><?php _e( 'As a browser icon' ); ?></strong> 1548 <div class="favicon-preview"> 1549 <img src="<?php echo esc_url( admin_url( 'images/' . ( is_rtl() ? 'browser-rtl.png' : 'browser.png' ) ) ); ?>" class="browser-preview" width="182" height="" alt="" /> 1550 1551 <div class="favicon"> 1552 <img id="preview-favicon" src="{{ data.url }}" alt="<?php esc_attr_e( 'Preview as a browser icon' ); ?>" /> 1553 </div> 1554 <span class="browser-title" aria-hidden="true"><# print( '<?php echo esc_js( get_bloginfo( 'name' ) ); ?>' ) #></span> 1555 </div> 1556 1557 <strong aria-hidden="true"><?php _e( 'As an app icon' ); ?></strong> 1558 <div class="app-icon-preview"> 1559 <img id="preview-app-icon" src="{{ data.url }}" alt="<?php esc_attr_e( 'Preview as an app icon' ); ?>" /> 1545 <script type="text/html" id="tmpl-site-icon-preview-crop"> 1546 <style> 1547 :root{ 1548 --site-icon-url: url( "{{ data.url }}" ); 1549 } 1550 </style> 1551 <h2><?php _ex( 'Site Icon Preview', 'noun' ); ?></h2> 1552 <p><?php _e( 'As an app icon and a browser icon.' ); ?></p> 1553 <div class="site-icon-preview crop"> 1554 <div class="image-preview-wrap app-icon-preview"> 1555 <img id="preview-app-icon" src="{{ data.url }}" class="app-icon-preview" alt="<?php esc_attr_e( 'Preview as an app icon' ); ?>" /> 1556 </div> 1557 <div class="site-icon-preview-browser"> 1558 <svg role="img" aria-hidden="true" fill="none" xmlns="http://www.w3.org/2000/svg" class="browser-buttons"><path fill-rule="evenodd" clip-rule="evenodd" d="M0 20a6 6 0 1 1 12 0 6 6 0 0 1-12 0Zm18 0a6 6 0 1 1 12 0 6 6 0 0 1-12 0Zm24-6a6 6 0 1 0 0 12 6 6 0 0 0 0-12Z" /></svg> 1559 <div class="site-icon-preview-tab"> 1560 <div class="image-preview-wrap browser"> 1561 <img id="preview-favicon" src="{{ data.url }}" class="browser-icon-preview" alt="<?php esc_attr_e( 'Preview as a browser icon' ); ?>" /> 1562 </div> 1563 <div class="site-icon-preview-site-title" aria-hidden="true"><# print( '<?php echo esc_js( get_bloginfo( 'name' ) ); ?>' ) #></div> 1564 <svg role="img" aria-hidden="true" fill="none" xmlns="http://www.w3.org/2000/svg" class="close-button"> 1565 <path d="M12 13.0607L15.7123 16.773L16.773 15.7123L13.0607 12L16.773 8.28772L15.7123 7.22706L12 10.9394L8.28771 7.22705L7.22705 8.28771L10.9394 12L7.22706 15.7123L8.28772 16.773L12 13.0607Z" /> 1566 </svg> 1567 </div> 1568 </div> 1569 </div> 1560 1570 </div> 1561 1571 </script>
Note: See TracChangeset
for help on using the changeset viewer.