PluginProbe
Admin and Site Enhancements (ASE) / 8.4.2
Admin and Site Enhancements (ASE) v8.4.2
9.1.1 9.1.0 9.0.2 9.0.1 9.0.0 8.9.2 8.9.1 8.9.0 8.8.8 8.8.7 8.8.6 8.8.5 8.8.4 8.8.3 8.8.2 8.8.1 8.8.0 8.7.3 8.7.2 8.7.1 8.2.1 8.2.2 8.2.3 8.3.0 8.3.1 All 273 releases
admin-site-enhancements / functions.php
functions.php
186 lines 5.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /**
4 * Get kses ruleset extended to allow svg
5 *
6 * @since 6.9.5
7 */
8 function get_kses_with_svg_ruleset() {
9 $kses_defaults = wp_kses_allowed_html( 'post' );
10 $svg_args = array(
11 'svg' => array(
12 'class' => true,
13 'aria-hidden' => true,
14 'aria-labelledby' => true,
15 'role' => true,
16 'xmlns' => true,
17 'width' => true,
18 'height' => true,
19 'viewbox' => true,
20 'viewBox' => true,
21 ),
22 'g' => array(
23 'fill' => true,
24 'fill-rule' => true,
25 'stroke' => true,
26 'stroke-linejoin' => true,
27 'stroke-width' => true,
28 'stroke-linecap' => true,
29 ),
30 'title' => array(
31 'title' => true,
32 ),
33 'path' => array(
34 'd' => true,
35 'fill' => true,
36 'stroke' => true,
37 'stroke-linejoin' => true,
38 'stroke-width' => true,
39 'stroke-linecap' => true,
40 ),
41 'rect' => array(
42 'width' => true,
43 'height' => true,
44 'x' => true,
45 'y' => true,
46 'rx' => true,
47 'ry' => true,
48 ),
49 'circle' => array(
50 'cx' => true,
51 'cy' => true,
52 'r' => true,
53 ),
54 );
55 return array_merge( $kses_defaults, $svg_args );
56 // Example usage: wp_kses( $the_svg_icon, get_kses_with_svg_ruleset() );
57 }
58
59 /**
60 * Get kses ruleset extended to allow style and script tags
61 *
62 * @since 6.9.5
63 */
64 function get_kses_with_style_src_ruleset() {
65 $kses_defaults = wp_kses_allowed_html( 'post' );
66 $style_script_args = array(
67 'link' => array(
68 'rel' => true,
69 'href' => true,
70 'sizes' => true,
71 'crossorigin' => true,
72 ),
73 'style' => true,
74 'script' => array(
75 'src' => true,
76 ),
77 );
78 return array_merge( $kses_defaults, $style_script_args );
79 // Example usage: wp_kses( $the_html, get_kses_with_style_src_ruleset() );
80 }
81
82 /**
83 * Get kses ruleset extended to allow style and script tags
84 *
85 * @since 6.9.5
86 */
87 function get_kses_with_style_src_svg_ruleset() {
88 $kses_defaults = wp_kses_allowed_html( 'post' );
89 $style_script_svg_args = array(
90 'input' => array(
91 'type' => true,
92 'id' => true,
93 'class' => true,
94 'name' => true,
95 'value' => true,
96 'style' => true,
97 ),
98 'style' => true,
99 'script' => array(
100 'src' => true,
101 ),
102 'iframe' => array(
103 'title' => true,
104 'name' => true,
105 'wdith' => true,
106 'height' => true,
107 'src' => true,
108 'srcdoc' => true,
109 'align' => true,
110 'frameborder' => true,
111 'scrolling' => true,
112 'allow' => true,
113 'referrerpolicy' => true,
114 'allowfullscreen' => true,
115 'loading' => true,
116 'sandbox' => true,
117 ),
118 'svg' => array(
119 'class' => true,
120 'aria-hidden' => true,
121 'aria-labelledby' => true,
122 'role' => true,
123 'xmlns' => true,
124 'width' => true,
125 'height' => true,
126 'viewbox' => true,
127 'viewBox' => true,
128 ),
129 'g' => array(
130 'fill' => true,
131 'fill-rule' => true,
132 'stroke' => true,
133 'stroke-linejoin' => true,
134 'stroke-width' => true,
135 'stroke-linecap' => true,
136 ),
137 'title' => array(
138 'title' => true,
139 ),
140 'path' => array(
141 'd' => true,
142 'fill' => true,
143 'stroke' => true,
144 'stroke-linejoin' => true,
145 'stroke-width' => true,
146 'stroke-linecap' => true,
147 ),
148 'rect' => array(
149 'width' => true,
150 'height' => true,
151 'x' => true,
152 'y' => true,
153 'rx' => true,
154 'ry' => true,
155 ),
156 'circle' => array(
157 'cx' => true,
158 'cy' => true,
159 'r' => true,
160 ),
161 );
162 return array_merge( $kses_defaults, $style_script_svg_args );
163 // Example usage: wp_kses( $the_html, get_kses_with_style_src_svg_ruleset() );
164 }
165
166 /**
167 * Get kses ruleset extended to allow input tags
168 *
169 * @since 6.9.5
170 */
171 function get_kses_with_custom_html_ruleset() {
172 $kses_defaults = wp_kses_allowed_html( 'post' );
173 $custom_html_args = array(
174 'input' => array(
175 'type' => true,
176 'id' => true,
177 'class' => true,
178 'name' => true,
179 'value' => true,
180 'style' => true,
181 ),
182 );
183 return array_merge( $kses_defaults, $custom_html_args );
184 // Example usage: wp_kses( $the_html, get_kses_with_custom_html_ruleset() );
185 }
186