PHP如果日期是x并且时间大于x pm则显示A else,如果显示B

时间:2016-11-16 01:40:13

标签: php wordpress date if-statement time

我试图告诉wordpress功能根据一些复杂因素(条件)显示发布日期

我必须展示帖子的来临风格。每天从12月1日开始,将在该网站的这个位置放置一个新帖子。但问题是加拿大(全部),加拿大(BC)和美国的职位不同。所以这就是我基本上希望它做的事情

时区:埃德蒙顿

                            If date is from dec 1 5:00pm to dec 2 4:59pm {
                            if the user is in BC 
                            {show postid 1 
                            }else if the user is in USA
                            {show postid 2
                            }else{
                            show postid 3
                            }
                            }else
                            if date is from dec 2 5:00pm to dec 3 4:59pm{
                            if the user is in BC 
                            {show postid 4 
                            }else if the user is in USA
                            {show postid 5
                            }else{
                            show postid 6
                            }
                            }else.....
                            so on for 25 days (till December 25th)

我已经能够得到我想要的大部分但我无法添加时间因素,因为我在php中不够了解 现在我的代码只显示日期是否设置&基于ip。

                            function showheroslider(){
                            date_default_timezone_set("America/Edmonton"); 

                            if (date('F, j, Y') == 'December, 1, 2016' ){

                            $userInfo = geoip_detect2_get_info_from_current_ip();
                            if ($userInfo->mostSpecificSubdivision->name == 'British Columbia'){ 

                            $adventdatepost = get_post(1123);

                            } else if ($userInfo->country->name == 'United States'){

                            $adventdatepost = get_post(1123);

                            } else {

                            $adventdatepost = get_post(1123);

                            }
                            } else 
                            if (date('F, j, Y') == 'December, 2, 2016' ){

                            $userInfo = geoip_detect2_get_info_from_current_ip();
                            if ($userInfo->mostSpecificSubdivision->name == 'British Columbia'){ 

                            $adventdatepost = get_post(1097);

                            } else if ($userInfo->country->name == 'United States'){

                            $adventdatepost = get_post(1097);

                            } else {

                            $adventdatepost = get_post(1097);

                            }
                            } else
                            if (date('F, j, Y') == 'December, 3, 2016' ){

                            $userInfo = geoip_detect2_get_info_from_current_ip();
                            if ($userInfo->mostSpecificSubdivision->name == 'British Columbia'){ 

                            $adventdatepost = get_post(1206);

                            } else if ($userInfo->country->name == 'United States'){

                            $adventdatepost = get_post(1204);

                            } else {

                            $adventdatepost = get_post(1206);

                            }else .......

总结问题是: 1.而不是仅仅在日期,我需要它根据日期和时间显示 2.如果这不是太复杂,我希望实际上能够编辑它以在每个月的日子里工作,而不仅仅是在12月。 (意思是月份的第1天,下午5点到第2天,下午4点59分显示其他...)

第1点是优先事项。请帮助我,因为我已尽力到这一步。但我不知道如何解决时间问题。

1 个答案:

答案 0 :(得分:0)

这是我发现的。 我仍然不是100%肯定,但我认为这可以工作

if((date('j') == 25 && date('G') >= 17) || (date('j') == 26 && date('G') < 17)){ 
$adventdatepost = get_post('insert id for day 25);
}
else 
{
$adventdatepost = get_post('insert id for the post I want till 30 or 31st');
}

告诉它月份的日期是1,时间是否大于5点,或者日期是2,时间是否小于5点...显示第1天的帖子

等等等到25天。然后在第25天之后它可以发布特定帖子直到该月的下一个1天。