43 lines
1.2 KiB
PHP
43 lines
1.2 KiB
PHP
|
<?php
|
||
|
/**
|
||
|
* Custom CSS
|
||
|
*
|
||
|
* @package WordPress
|
||
|
* @subpackage Twenty_Twenty_One
|
||
|
* @since Twenty Twenty-One 1.0
|
||
|
*/
|
||
|
|
||
|
/**
|
||
|
* Generate CSS.
|
||
|
*
|
||
|
* @since Twenty Twenty-One 1.0
|
||
|
*
|
||
|
* @param string $selector The CSS selector.
|
||
|
* @param string $style The CSS style.
|
||
|
* @param string $value The CSS value.
|
||
|
* @param string $prefix The CSS prefix.
|
||
|
* @param string $suffix The CSS suffix.
|
||
|
* @param bool $display Print the styles.
|
||
|
* @return string
|
||
|
*/
|
||
|
function twenty_twenty_one_generate_css( $selector, $style, $value, $prefix = '', $suffix = '', $display = true ) {
|
||
|
|
||
|
// Bail early if there is no $selector elements or properties and $value.
|
||
|
if ( ! $value || ! $selector ) {
|
||
|
return '';
|
||
|
}
|
||
|
|
||
|
$css = sprintf( '%s { %s: %s; }', $selector, $style, $prefix . $value . $suffix );
|
||
|
|
||
|
if ( $display ) {
|
||
|
/*
|
||
|
* Note to reviewers: $css contains auto-generated CSS.
|
||
|
* It is included inside <style> tags and can only be interpreted as CSS on the browser.
|
||
|
* Using wp_strip_all_tags() here is sufficient escaping to avoid
|
||
|
* malicious attempts to close </style> and open a <script>.
|
||
|
*/
|
||
|
echo wp_strip_all_tags( $css ); // phpcs:ignore WordPress.Security.EscapeOutput
|
||
|
}
|
||
|
return $css;
|
||
|
}
|