我通常会在jQuery中执行此类操作,但这需要服务器端触摸。我是PHP的新手,需要帮助编写一个基本脚本,这个脚本需要一个数月the_time('m')
,我只想说它是否等于01然后是echo "#000"
然后循环通过其他月份02,03 ,04,等等,如果月份相等,让它们回应不同的十六进制代码。
请原谅我的粗略和错误的代码,但我认为这有助于形象化我正在努力的解决方案。
style="background: #
<?php
if(the_time('m') == "01") {
echo "000";
} else if (the_time('m') == "02"){
echo "111";
} // so on through 12
?>
"
非常感谢任何帮助。谢谢。
EDIT 我目前在里面的while循环代码:
<?php while ( have_posts() ) : the_post(); ?>
<?php
$code = "f5f5f5"; // Set default
$month = the_time('m');
switch ($month) {
case "01" :
$code = "f5f5f5";
break;
case "02" :
$code = "f3f3f3";
break;
case "03" :
$code = "f1f1f1";
break;
case "04" :
$code = "efefef";
break;
}
?>
<li id="event_<?php the_time('m_d_Y') ?>" style="background: #<?php echo $code ?>;">
答案 0 :(得分:6)
我不会真的走这条路,但我会做类似的事情:
<div class="month-<?php echo strtolower(date('M')) ?>">Howdy</div>
// your CSS file:
.month-jan { background: #000; }
.month-feb { background: #FFF; }
// etc
答案 1 :(得分:1)
尝试
<?php
$code = "000"; // Set default
$month = date ( "m" );
switch ($month) {
case "02" :
$code = "111";
break;
case "03" :
$code = "CCC";
break;
case "04" :
$code = "FFF";
break;
}
?>
style="background: #<?php echo $code ?>"
答案 2 :(得分:0)
switch (date('n')) {
case 1:
echo "000";
break;
case 2:
echo "111";
break;
...
}
或者,更简单:
$colors = array(
1 => "000",
2 => "111",
...
);
echo $colors[date('n')];
答案 3 :(得分:0)
用php的日期函数取月份,减1,转换为hex,然后重复3次。
echo printf('%1$'.base_convert(date('n') - 1, 10, 16).'3d', date('n') - 1);
这有点棘手和迟钝,但你不需要switch
或大量的elseif