最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

filters - Header image automatically changes depending on season

programmeradmin4浏览0评论

For days trying to figure out what is wrong with script. As a theme using 'primer'. Point is to make header image change by itself for each season. At page header appears fall and thats it, even when im testing different months for different seasons, nothing happens. Maybe somebody can help me solve this issue.

funcion

    add_filter('masthead','site-header');
function seasonal_site_header ($classes = '') {
   $hemisphere = 'northern';
   $m = date('m');
    
   $northern=array(
     'summer' => array(6, 7, 8),
     'fall' => array(9, 10, 11),
     'winter' => array(12, 1, 2),
     'spring' => array(3, 4, 5)
   );

   foreach($$hemisphere as $key=>$val) {
     if(in_array($m, $val)) {
       $classes[] = $key;
       return $classes;
     }
   }
   $classes[] = '';
   return $classes;
}

css

#masthead, .site-header, .winter
{
  background-image: url('/wp-content/uploads/2020/09/winter.jpg');

}
#masthead, .site-header, .spring
{
  background-image: url('/wp-content/uploads/2020/09/spring.jpeg');

}
#masthead, .site-header, .summer #site-header-wrapper
{
  background-image: url('/wp-content/uploads/2020/09/summer.jpeg');

}
#masthead, .site-header, .fall
{
  background-image: url('/wp-content/uploads/2020/09/autumn.jpg');

}

For days trying to figure out what is wrong with script. As a theme using 'primer'. Point is to make header image change by itself for each season. At page header appears fall and thats it, even when im testing different months for different seasons, nothing happens. Maybe somebody can help me solve this issue.

funcion

    add_filter('masthead','site-header');
function seasonal_site_header ($classes = '') {
   $hemisphere = 'northern';
   $m = date('m');
    
   $northern=array(
     'summer' => array(6, 7, 8),
     'fall' => array(9, 10, 11),
     'winter' => array(12, 1, 2),
     'spring' => array(3, 4, 5)
   );

   foreach($$hemisphere as $key=>$val) {
     if(in_array($m, $val)) {
       $classes[] = $key;
       return $classes;
     }
   }
   $classes[] = '';
   return $classes;
}

css

#masthead, .site-header, .winter
{
  background-image: url('/wp-content/uploads/2020/09/winter.jpg');

}
#masthead, .site-header, .spring
{
  background-image: url('/wp-content/uploads/2020/09/spring.jpeg');

}
#masthead, .site-header, .summer #site-header-wrapper
{
  background-image: url('/wp-content/uploads/2020/09/summer.jpeg');

}
#masthead, .site-header, .fall
{
  background-image: url('/wp-content/uploads/2020/09/autumn.jpg');

}
Share Improve this question asked Sep 29, 2020 at 14:22 sferasfera 111 bronze badge 1
  • What is the first line doing? Do you have a hook called masthead? Even if you do, site-header is not a valid callback. – vancoder Commented Sep 29, 2020 at 21:22
Add a comment  | 

1 Answer 1

Reset to default 0

Change filter call

add_filter('masthead','seasonal_site_header', 10, 2);

function seasonal_site_header ($classes = '') {
   $hemisphere = 'northern';
   $m = date('m');
    
   $northern=array(
     'summer' => array(6, 7, 8),
     'fall' => array(9, 10, 11),
     'winter' => array(12, 1, 2),
     'spring' => array(3, 4, 5)
   );

   foreach($$hemisphere as $key=>$val) {
     if(in_array($m, $val)) {
       $classes[] = $key;
       return $classes;
     }
   }
   return $classes;
}

Change css

#masthead.site-header.winter
{
  background-image: url('/wp-content/uploads/2020/09/winter.jpg');

}
#masthead.site-header.spring
{
  background-image: url('/wp-content/uploads/2020/09/spring.jpeg');

}
#masthead.site-header.summer
{
  background-image: url('/wp-content/uploads/2020/09/summer.jpeg');

}
#masthead.site-header.fall
{
  background-image: url('/wp-content/uploads/2020/09/autumn.jpg');

}
发布评论

评论列表(0)

  1. 暂无评论