aboutsummaryrefslogtreecommitdiff
path: root/srcs/wordpress/wp-content/themes/twentytwenty/inc/svg-icons.php
diff options
context:
space:
mode:
Diffstat (limited to 'srcs/wordpress/wp-content/themes/twentytwenty/inc/svg-icons.php')
-rw-r--r--srcs/wordpress/wp-content/themes/twentytwenty/inc/svg-icons.php70
1 files changed, 70 insertions, 0 deletions
diff --git a/srcs/wordpress/wp-content/themes/twentytwenty/inc/svg-icons.php b/srcs/wordpress/wp-content/themes/twentytwenty/inc/svg-icons.php
new file mode 100644
index 0000000..75cdd38
--- /dev/null
+++ b/srcs/wordpress/wp-content/themes/twentytwenty/inc/svg-icons.php
@@ -0,0 +1,70 @@
+<?php
+/**
+ * Twenty Twenty SVG Icon helper functions
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty
+ * @since 1.0.0
+ */
+
+if ( ! function_exists( 'twentytwenty_the_theme_svg' ) ) {
+ /**
+ * Output and Get Theme SVG.
+ * Output and get the SVG markup for an icon in the TwentyTwenty_SVG_Icons class.
+ *
+ * @param string $svg_name The name of the icon.
+ * @param string $group The group the icon belongs to.
+ * @param string $color Color code.
+ */
+ function twentytwenty_the_theme_svg( $svg_name, $group = 'ui', $color = '' ) {
+ echo twentytwenty_get_theme_svg( $svg_name, $group, $color ); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Escaped in twentytwenty_get_theme_svg();.
+ }
+}
+
+if ( ! function_exists( 'twentytwenty_get_theme_svg' ) ) {
+
+ /**
+ * Get information about the SVG icon.
+ *
+ * @param string $svg_name The name of the icon.
+ * @param string $group The group the icon belongs to.
+ * @param string $color Color code.
+ */
+ function twentytwenty_get_theme_svg( $svg_name, $group = 'ui', $color = '' ) {
+
+ // Make sure that only our allowed tags and attributes are included.
+ $svg = wp_kses(
+ TwentyTwenty_SVG_Icons::get_svg( $svg_name, $group, $color ),
+ array(
+ 'svg' => array(
+ 'class' => true,
+ 'xmlns' => true,
+ 'width' => true,
+ 'height' => true,
+ 'viewbox' => true,
+ 'aria-hidden' => true,
+ 'role' => true,
+ 'focusable' => true,
+ ),
+ 'path' => array(
+ 'fill' => true,
+ 'fill-rule' => true,
+ 'd' => true,
+ 'transform' => true,
+ ),
+ 'polygon' => array(
+ 'fill' => true,
+ 'fill-rule' => true,
+ 'points' => true,
+ 'transform' => true,
+ 'focusable' => true,
+ ),
+ )
+ );
+
+ if ( ! $svg ) {
+ return false;
+ }
+ return $svg;
+ }
+}