2013-08-20 62 views
0

我目前已經安裝了一個WordPress站點,用戶可以在這裏預訂我們設施的遊覽(我們是一所大學)。我已經使用ContactForm7插件在頁面中創建一個表單,訪問者可以輸入他們的聯繫信息,然後使用日期選擇器字段選擇他們想要參加的特定日期。WordPress的ContactForm7 datepicker字段 - 禁用/阻止特定日期?

我的問題是(我已經搜索了高和低的解決方案,但無濟於事)是否有一種方法,我可以禁用或阻止特定的日期被選中在這個datepicker字段的形式?例如,有幾天沒有可用的旅行(假期和其他旅遊人員不在校期間),所以我不希望這些日期可以選擇。

有沒有辦法在插件中做到這一點,或者有沒有其他的方式可以做到這一點,無論是使用腳本還是通過其他插件?

我的同事向我展示了一個在其旅遊預訂表單中使用jQuery/JS datepicker字段的網站(但這不是WordPress/ContactForm7表單),並且它們能夠在旅行不可用時阻止特定日期,所以我假設它應該是可能的......不知何故。

任何幫助將不勝感激! :)

編輯:

我發現下面的代碼和網站聽起來像它會做的正是我要找的(使用類似下面它看起來像一個答案的方法),但我無法真正弄清楚如何將其添加到我的網站,以便它的工作。我已經將它添加到了我的主題的header.php文件中,並且已將ID設置爲「#DisabledDates」 - 這也是我在表單中將datepicker字段ID設置爲...但我設置爲「不可用日期」的日期仍然可以選擇...任何想法?

<?php if ($post->ID==16) { ?> 
<script type="text/javascript"> 
    var unavailableDates = ["9-5-2013", "10-5-2013", "11-5-2013", "12-5-2013", "13-5-2013", "14-5-2013", "15-5-2013", "16-5-2013", "17-5-2013", "18-5-2013", "19-5-2013", "20-5-2013", "21-5-2013", "22-5-2013", "23-5-2013", "24-5-2013"]; 

    jQuery(function($){ 
     $("#DisabledDates").datepicker({ 
      minDate: 5, 
      beforeShowDay: function(date) { 
       dmy = date.getDate() + "-" + (date.getMonth() + 1) + "-" + date.getFullYear(); 
       if ($.inArray(dmy, unavailableDates) == -1) { 
        return [true, ""]; 
       } else { 
        return [false, "", "Unavailable"]; 
       } 
      } 
     }); 
    }); 
</script> 

此處,我發現它(它看起來像已存在於CF7與之前的日期選擇器被添加到插件一個datepicker領域擴展插件...但我假設它應該仍然工作同樣?):https://github.com/relu/contact-form-7-datepicker/issues/37

回答

0

您將不得不訪問FTP以在CF7文件中放置某個函數。

或者你可以找到Wordpress使用的類並過濾這些日期。

+0

嗨喬希,謝謝你的迴應。我對CF7文件不是很熟悉(我只是把它作爲一個插件安裝) - 有什麼想法可以去?那功能會是什麼樣子? – Iconoclast

0

它可以通過兩種

  • 集MINDATE和MAXDATE
  • 當你打開日期選擇和改變月/年的時候,就會觸發一個事件beforeShowDay與上月和年每個日期來完成,您可以使用日期範圍數組或對象檢查該函數中的每個日期,並返回true或false。如果假返回該日期將去激活和真實的日期將被激活

退房此鏈接:http://jqueryui.com/demos/datepicker/#inlinehttp://jqueryui.com/demos/datepicker/#min-max

說明這樣說:「設置開始和結束日期爲實際日期(新日期(2009,1-1,26)),作爲從今天(-20)的數字偏移量,或者作爲一系列週期和單位('+ 1M + 10D')「

+0

嗨泰特,謝謝你的迴應。說實話,我不像其他語言那樣熟悉jQuery ...... CF7中的datepicker具有「id」「class」「min」「max」和「step」的可選字段......我明白這些都是基於CF7常見問題解答,但是這些是你正在討論的選項,還是你在較低級別上討論這些選項(即在某處的插件文件中)?我找到了date.php文件我相信定義datepicker的功能,但我不知道如何或在哪裏添加,我需要添加的任何東西!有任何想法嗎? – Iconoclast

+0

與@Josh Riley所說的類似,你需要通過FTP把它放在「插件文件的某處」。 –