如何在 ACF 日期选择器中限制 Wordpress 中的开始日期和结束日期的两个日期?

Posted

技术标签:

【中文标题】如何在 ACF 日期选择器中限制 Wordpress 中的开始日期和结束日期的两个日期?【英文标题】:How can I restrict Two dates in ACF date picker for Starting date and Ending Date in Wordpress? 【发布时间】:2015-06-06 03:03:03 【问题描述】:

我在 Wordpress 中创建了一个活动帖子类型。为此,我从 ACF 日期选择器中输入了开始日期和结束日期。

我希望管理员可以选择大于开始日期的结束日期。

有什么方法可以限制开始日期和结束日期?

例如,如果管理员选择 2016 年 1 月 1 日作为开始日期,那么他只能选择 1 月 1 日或大于所选日期的结束日期。

【问题讨论】:

有解决办法吗? 还是没有解决办法。 我也有同样的问题,还没有得到答案,请有人帮帮我。我也读了support.advancedcustomfields.com/forums/topic/…这个链接但没有得到答案 有解决办法吗?? 【参考方案1】:

这很好用。只需使用检查元素获取名称字段。将此代码添加到 functions.php 文件中。

add_action('acf/validate_save_post', 'my_acf_validate_save_post', 10, 0);

/**
 * @throws Exception
 */
function my_acf_validate_save_post() 

    $start = $_POST['acf']['field_61a7519a57d99'];
    $end = $_POST['acf']['field_61a751d957d9a'];

    // check custom $_POST data
    if ($start > $end) 
        acf_add_validation_error('acf[field_61a751d957d9a]', 'End date should be greater than or equal to start date.');
    

当您打开检查元素时,输入字段应如下所示:

<div class="acf-date-picker acf-input-wrap" data-date_format="dd. MM yy" data-first_day="1">
     <input type="hidden" id="acf-field_61a751d957d9a" name="acf[field_61a751d957d9a]" value="20211201">
     <input type="text" class="input hasDatepicker" value="16. January 2022" id="dp1638477022818">
</div>

您可以在此处找到更多信息: https://www.advancedcustomfields.com/resources/acf-validate_save_post/

【讨论】:

【参考方案2】:

我认为管理区域的acf中没有日期限制的可能性。

我可能在acf的较新版本中完成。

您可以从这里请求...

http://support.advancedcustomfields.com/forums/forum/feature-requests/

【讨论】:

【参考方案3】:

这是 ACF 中非常重要和必要的功能,很多人都想要它。我花了很多时间来解决这个问题并进行研究,但没有得到任何解决方案。它是 ACF 的要求功能,因此它将与最新版本的 ACF 一起提供。

【讨论】:

【参考方案4】:

我在使用常规日期字段时遇到了类似的问题,希望这个 JS 代码(带有 moment JS 库)经过一些调整会对您有所帮助。

$(document).ready(function() 
   $("input[name='Arrival']").change(function() 
      var date_picked = $("input[name='Arrival']").val();
      var SpecialTo = moment(date_picked, "YYYY-MM-DD");
      var today = new Date();
      today.setDate(today.getDate() - 240);
      var selectedDate = new Date(date_picked);
      if (today <= selectedDate) 
         //alert('Date is today or in future');
       else 
         alert('Date is in the past');
         $("input[name='Arrival']").val('');
      
  );
) 

如果您可以发布带有值的日期输入的源 html,我可以将其更改为您要查找的内容。

【讨论】:

我在自定义帖子类型中使用了 ACF 日期选择器作为开始日期和结束日期。不在前端。我想限制在后端。 我如何使用acf datepicker【参考方案5】:

我认为我们可以使用 java 脚本并使用此代码来设置结束日期的限制:

$( ".selector" ).datepicker(
  minDate: new Date(  )
);

【讨论】:

我想在 wordpress 管理面板中限制开始和结束日期。如果管理员选择某个日期作为开始日期,那么结束日期应该等于或大于开始日期。 是的,我需要一些请帮助我,我也 support.advancedcustomfields.com/forums/topic/… 但没有解决我的问题

以上是关于如何在 ACF 日期选择器中限制 Wordpress 中的开始日期和结束日期的两个日期?的主要内容,如果未能解决你的问题,请参考以下文章

ACF wordpres: Foreach: data-type = 'group'

如何在 jQuery 日期选择器中为禁用日期添加工具提示?

如何在日期选择器中设置日期限制

我如何将当前日期与日期选择器中的用户输入日期进行比较

如何在 React 本机 ios/android datepicker 中限制日期选择

故事板日期选择器中的选择性日期(iOS 开发)