我已在WordPress中创建了一个事件文章类型。我使用了ACF日期选择器来设置开始日期和结束日期。
我希望管理员可以选择大于开始日期的结束日期。
有没有什么方法限制开始日期和结束日期呢?
例如,如果管理员选择2016年1月1日作为开始日期,则只能选择该日期或之后的结束日期。
我已在WordPress中创建了一个事件文章类型。我使用了ACF日期选择器来设置开始日期和结束日期。
我希望管理员可以选择大于开始日期的结束日期。
有没有什么方法限制开始日期和结束日期呢?
例如,如果管理员选择2016年1月1日作为开始日期,则只能选择该日期或之后的结束日期。
$( ".selector" ).datepicker({
minDate: new Date( )
});
我认为在acf的管理区域中没有日期限制的可能性。
这可能在acf的新版本中完成。
您可以从这里请求...
http://support.advancedcustomfields.com/forums/forum/feature-requests/
我曾遇到过与常规日期字段类似的问题,希望这段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('');
}
});
})
这个很好用。只需使用检查元素获取名称字段。在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/
此链接提供有关如何使用高级自定义字段插件验证和保存WordPress帖子的详细信息。