Support » Plugin: Contact Form 7 Datepicker » Disable sundays

Viewing 15 replies - 1 through 15 (of 33 total)
  • I have the same question! Did you find an answer yet?

    I found an answer in this post (https://wordpress.org/support/topic/how-do-you-blockout-mondays-wednesdays-saturdays-and-sundays), but I don’t understand where to put the code, as I am still very new to coding.

    Other than that, I also found this Code that works great here http://jsfiddle.net/zXFGN/, but again I don’t know where to put it:

    $( "#noSunday" ).datepicker({
            beforeShowDay: noSunday
    });
    
    function noSunday(date){
              var day = date.getDay();
                          return [(day > 0), ''];
          };

    I have the same question.

    I am trying hard to find some code to disable an array of dates or date ranges. I did not find anything useful or working yet, so I hope someone can answer this question.

    I would also like to disable specific days.
    Also need to know where to put the code.
    Have tried Insert JavaScript and CSS and other Plug-ins but no joy

    Hi all,

    so I solved this.
    For the additional CSS, PHP, Javascript needed I am now using a brilliant plugin called “CSS and Javascript Toolbox” or “CJT” in short.
    It lets you define “blocks” of code and you can choose where to insert these. The big advantage of that is that you have all your additional code for your theme in one place and when you switch to another theme, everything still works. Even better than using a child theme.
    When using this plug-in, don’t forget to define the additional script tags with your code block (you will find out).

    In the header of the page, with your datepicker containing form shortcode, you can add this javascript:

    jQuery(function($){
    var holidayDates = [“10-5”, “13-5”]; // define your holidays here
    $(“#brengdatum,#haaldatum”).datepicker({
    numberOfMonths: 1,
    beforeShowDay: function(date) {
    var day = date.getDay(),
    dm = date.getDate() + “-” + (date.getMonth() + 1);
    var isHoliday = ($.inArray(dm, holidayDates) != -1);
    return [day != 0 && !isHoliday];
    }});
    });

    #brengdatum and #haaldatum are two datepicker input fields on the form 7 form and those names are the id’s that you should give them.

    If you have only one datepicker on the form, just use one id name like #your-id-name.

    day != 0 is Sunday.
    so you block sundays with the above script. You can replace that with another day. So Monday should be 1, Tuesday 2, etc.

    TIP:
    Use id names for unique items, and class names for multiple items with the same class.
    id names are referenced in css with a #. Like #your-id-name.
    class names are refenced in css with a dot. Like .your-class-name.

    Excellent movingmajic. Well done

    Got Sundays blocked out but how do I block out more than one day. Cannot seem to get that to work?

    Figured out multi block days:

    return [day != 0 && day != 2 && day != 4 && day != 5 && !isHoliday];

    Hi Gary,

    Great!

    I was just about to tell you this, but my smartphone wouldn’t allow me πŸ™

    But great you figured this one out
    All smiles πŸ™‚ πŸ™‚ πŸ™‚

    Yes all good thanks. Hopefully the client will be happy too

    Thanks again

    Hi @movingmagic, I try to use the plug-in you recommended, but I can’t seem to get it to work. Could you give a step-by-step tutorial for this? I’m sorry, I’m pretty new to wordpress and can’t find a way to figure this out.

    Unfortunately I’m not getting it.
    I want my datepicker only to show Wednesdays, so I modified your jquery to

    jQuery(function($){
    var holidayDates = [β€œ10-5”, β€œ13-5”]; // define your holidays here
    $(β€œ#woensdag”).datepicker({
    numberOfMonths: 1,
    beforeShowDay: function(date) {
    var day = date.getDay(),
    dm = date.getDate() + β€œ-” + (date.getMonth() + 1);
    var isWoensdag = ($.inArray(dm, holidayDates) != -1);
    return [day = 3 && !isHoliday];
    }});
    });

    don’t do anything with the holidays…

    And in the form I enter:

    [date your-date date-format:yyyy-mm-dd min-date:2016-10-12 max-date:2017-03-25 step:7 first-day:0 change-month buttons id:woensdag] </p>

    step:7 still there, but it seems that isn’t respected as well as I wanted to do this in the first place.

    Try this (thanks GaryBerg for the additional days disabled update)
    Change the day numbers (0 2 4 5) to your liking.

    jQuery(function($){
    var holidayDates = [β€œ10-5”, β€œ13-5”]; // define your holidays here
    $(β€œ#inputfield_id”).datepicker({
    numberOfMonths: 1,
    beforeShowDay: function(date) {
    var day = date.getDay(),
    dm = date.getDate() + β€œ-” + (date.getMonth() + 1);
    var isHoliday = ($.inArray(dm, holidayDates) != -1);
    return [day != 0 && day != 2 && day != 4 && day != 5 && !isHoliday];
    }});
    });

    Hi xuxu88,

    Please try the CJT plugin again. It’s really super simple and brilliant!
    – first, add your code to a code block
    – second, go to “MASTER” (up left of the code blocko) there choose “EDIT and then you choose CSS or Javascript or PHP etc. This add the correct tags to your codeblock.
    – third, define which pages or global you want to apply the code block to.

    As soon as this works for you, you will never turn back πŸ™‚

    Followed the steps but still not working.
    I have defined the page to apply the code block to.
    So I use id #woensdag en use that as well in the date-line in my Contactform, but still I can choose all days.
    I must be overseeing something. Do I still need to edit the css, javascript etc in the codeblock (2nd step in previous post)?

    Try this for disabling all dates except wednesday:

    jQuery(function($){

    $(“#woensdag”).datepicker({
    beforeShowDay: function(date){
    var day = date.getDay();
    return [day != 0 && day != 1 && day != 2 && day != 4 && day != 5 && day != 6];
    }});
    });

    And on the contact-form-7 form:
    <p>Choose date:<br />
    [date* datename id:woensdag months:1 first-day:1 min-date:0 readonly]</p>

    For the CJT Plugin: See:
    code block
    edit master setting
    designate target

    As for the datepicker: I have installed this one:
    /contact form 7 datepicker

    I have the same, with the CJT Plugin and contact form 7 datepicker but unfortunately I still am able to choose other days then Wednesdays. I’m using WP 4.6.

    URL: http://www.kunstrijclubgroningen.nl/contact/aanvraag-proefles-teensadults/

    • This reply was modified 2 years, 10 months ago by  DikkieDick.
Viewing 15 replies - 1 through 15 (of 33 total)
  • The topic ‘Disable sundays’ is closed to new replies.