2016-03-04 73 views
3

林開發使用WordPress回聲每月第三個星期四開始2016年3月3日

他們有一個董事會會議每3個星期四公司啓動2016年3月3日在網站

我試着去創建一個簡碼

我想在下次會議發生時迴應。

這是迄今爲止我得到的,但那不正確。

// ECHO next board_meeting - Use [next_board_meeting] 
add_shortcode('next_board_meeting', 'next_board_meeting_shortcode'); 
function next_board_meeting_shortcode($str) { 

echo date_i18n('l j F', strtotime('next thursday +2 week')); 

} 

我一直在網上尋找這樣的東西,但我在這裏,要求你的幫助。

有沒有簡單的方法來做到這一點,或者我需要創建一個複雜的PHP腳本?請記住,我剛剛學會了如何在PHP中完成簡單的任務。

回答

7

此代碼將讓你當月的第三個星期四..

如果當前日期已過3日星期四,然後它會顯示在下個月的第三個星期四。如果當前的月份是十二月,並已通過3至週四然後它會一月顯示第三週四在明年

<?php 
$current_date = strtotime(date("d.m.Y")); 

//$final = date("Y-m-d", strtotime("+1 month", $time)); 

$FullMonth = date('F',$current_date); 
$FullYear = date('Y',$current_date); 
$Third_Thus = date('d F Y', strtotime('third thursday of '.$FullMonth.' '.$FullYear)); 
$ThirdThus_tmstamp = strtotime($Third_Thus); 
if($current_date <= $ThirdThus_tmstamp){ 
    echo date('d F Y', strtotime('third thursday of '.$FullMonth.' '.$FullYear)); 
} 
else{ 
    if($FullMonth != 'December'){ 
     $FullMonth = date('F',strtotime("+1 month", $current_date)); 
     $FullYear = date('Y',$current_date); 
    } else{ 
     $Next_Year = strtotime("+1 year", $current_date); 
     $FullYear = date('Y',$Next_Year); 
     $FullMonth = date('F',strtotime("+1 month", $Next_Year)); 
    } 
    echo date('d F Y', strtotime('third thursday of '.$FullMonth.' '.$FullYear)); 
}?> 

這將顯示任一當前本月或下月 月根據當前日期的唯一一個3至週四。如果你想的 3日星期四接下來的2-3個月,你可以做一些茶現在我猜!

+0

請接受的答案,如果它滿足您的要求 –

+0

感謝您的答覆。但是那隻顯示當前的月份。他們每週三舉行一次董事會會議。所以如果今天是在這個月的會議之後,我不認爲它會在接下來的幾個月裏開會。例如:五月會議將在五日舉行。如果今天是四月二十八日,那麼它將不會得到五月的下一次會議。再次感謝您的回覆,但我確信這是行不通的。 – Aron

+0

請參閱編輯的答案..如果當前日期已經過了第三個,那麼它將顯示下個月的第三個星期..如果Month跳過日期是Dec,那麼它將在明年1月顯示第三個週四 –

0

應該用這個簡單的簡碼的工作:

add_shortcode('next_board_meeting', 'next_board_meeting_shortcode'); 

function next_board_meeting_shortcode($str) { 

    if(strtotime("3 thursday", strtotime(date('Y-m-01 00:00:00'))) > time()) 
    echo date('Y-m-d', strtotime("3 thursday", strtotime(date('Y-m-01 00:00:00')))); 
    else 
    echo date('Y-m-d', strtotime("3 thursday", strtotime("next month", strtotime(date('Y-m-01 00:00:00'))))); 

} 

演示:https://eval.in/530446

+0

對不起,這將只會迴應3天后的日期......如果訪客在會議前一天查看網站會怎麼樣?它會顯示明天的日期嗎?以及如果訪問者在會議後第二天查看該網站會怎麼樣。下一次會議將在下個月舉行,它是否也會顯示該日期? – Aron

+0

謝謝阿隆,是的,代碼有錯誤。現在查看新的編輯示例 - 如果是會議後的第二天,它會顯示下個月的3號星期四。 – benedikt

相關問題