@@ -21,17 +21,39 @@ function sunflower_theme_class() {
21
21
* Change URL to site icon to sunflower as default.
22
22
*
23
23
* @param string $url Site icon URL.
24
+ * @param string $size Size in pixel.
24
25
*/
25
- function sunflower_get_site_icon_url_defaults ( $ url ) {
26
+ function sunflower_get_site_icon_url_defaults ( $ url , $ size ) {
27
+
28
+ $ site_icon_id = (int ) get_option ( 'site_icon ' );
29
+
26
30
// A custom site icon seems to be set. Keep it untouched.
27
- if ( filter_var ( $ url , FILTER_VALIDATE_URL ) ) {
31
+ if ( $ site_icon_id && filter_var ( $ url , FILTER_VALIDATE_URL ) ) {
28
32
return $ url ;
29
33
}
34
+
35
+ switch ( $ size ) {
36
+ case 32 :
37
+ $ icon_url = sunflower_parent_or_child ( 'assets/img/favicon.ico ' );
38
+ break ;
39
+ case 192 :
40
+ $ icon_url = sunflower_parent_or_child ( 'assets/img/sunflower-192.png ' );
41
+ break ;
42
+ case 180 :
43
+ $ icon_url = sunflower_parent_or_child ( 'assets/img/sunflower-180.png ' );
44
+ break ;
45
+ case 270 :
46
+ $ icon_url = sunflower_parent_or_child ( 'assets/img/sunflower-270.png ' );
47
+ break ;
48
+ default :
49
+ $ icon_url = sunflower_parent_or_child ( 'assets/img/sunflower.png ' );
50
+ break ;
51
+ }
30
52
// Set default site icon to sunflower.
31
- return sunflower_parent_or_child ( ' assets/img/favicon.ico ' ) ;
53
+ return $ icon_url ;
32
54
}
33
55
34
- // Add filter only, of terms of use are accepted.
56
+ // Add filter only, if terms of use are accepted.
35
57
$ sunflower_options = get_option ( 'sunflower_first_steps_options ' );
36
58
if ( ( $ sunflower_options ['sunflower_terms_of_use ' ] ?? false ) === 'checked ' ) {
37
59
add_filter ( 'get_site_icon_url ' , 'sunflower_get_site_icon_url_defaults ' , 10 , 3 );
0 commit comments