На прошлой неделе несколько человек внезапно пожаловались на периодически неработающий дейтпикер в Contact Form 7. Проблема действительно есть, мне удалось ее зафиксировать в Сафари и Файрфоксе. Показываю, как лечится.
Чтобы было понятно о чем речь, дейтпикер (datepicker) — это такой всплывающий календарик в форме, в котором пользователь может выбрать дату и отправить её в едином, ранее заданном формате.
Именно с этим календариком и возникают проблемы — в выше обозначенных браузерах он просто не появляется. Кстати, в Хроме все прекрасно работает, и многие просто не замечают этой проблемы. Проблема на самом деле серьезная, потому что препятствует пользователю отправить форму, перманентно возвращая ошибку валидации. Кто-то ищет иные пути достучаться до менеджеров, кто-то просто забивает со всеми вытекающими.
Проблема в слоях, и решается она несколькими строчками кода в functions.php активной темы.
<?php add_filter( 'wpcf7_support_html5_fallback', '__return_true' ); add_action('wp_head', 'replacethiswithyourthemename_wcf7_datepickerfix'); function replacethiswithyourthemename_wcf7_datepickerfix(){ ?> <style>#ui-datepicker-div {z-index:99!important;}</style> <?php } ?>
Способ решения не мой, я нашёл его на Стеке.
Успехов!
Больше полезных материалов по веб-разработке на моем канале в Телеграм.
Обязательно подпишитесь.