programing

ACF 달력 선택기에서 Wordpress의 시작 날짜와 종료 날짜에 대해 두 개의 날짜를 제한하는 방법은 무엇입니까?

bestprogram 2023. 3. 28. 22:44

ACF 달력 선택기에서 Wordpress의 시작 날짜와 종료 날짜에 대해 두 개의 날짜를 제한하는 방법은 무엇입니까?

워드프레스에 이벤트 포스트 타입을 작성했습니다.그래서 ACF datepicker에서 시작일과 종료일을 기재했습니다.

관리자가 시작 날짜보다 큰 종료 날짜를 선택할 수 있도록 합니다.

시작일과 종료일을 제한하는 방법이 있나요?

예를 들어 Admin이 2016년 1월 1일을 시작일로 선택한 경우 종료일은 선택한 날짜보다 1월 1일 이후만 선택할 수 있습니다.

자바 스크립트를 사용하여 이 코드를 사용하여 종료 날짜의 제한을 설정할 수 있습니다.

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

admin 영역의 acf에는 날짜 제한이 없다고 생각합니다.

acf의 새로운 버전에서는 완료되었을지도 모릅니다.

여기서 요청할 수 있습니다.

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

일반 날짜 필드에도 비슷한 문제가 있었습니다. JS 라이브러리와 함께 이 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에 값을 붙이면 원하는 날짜로 변경할 수 있을 것 같습니다.

이 정도면 충분합니다.inspect 요소가 있는 이름 필드를 가져오기만 하면 됩니다. 코드를 함수에 추가합니다.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.');
    }
}

inspect 요소를 열면 입력 필드는 다음과 같습니다.

<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/ 를 참조해 주세요.

언급URL : https://stackoverflow.com/questions/29391250/how-can-i-restrict-two-dates-in-acf-date-picker-for-starting-date-and-ending-dat