Почему sql запрос
SELECT * FROM dle_post WHERE '2017-05-18' >= STR_TO_DATE(SUBSTRING_INDEX( SUBSTRING_INDEX( xfields, 'date_from|', -1 ) , '||', 1 ), '%Y-%m-%d') AND '2017-05-18' <= STR_TO_DATE(SUBSTRING_INDEX( SUBSTRING_INDEX( xfields, 'date_to|', -1 ) , '||', 1 ), '%Y-%m-%d') and '2017-05-18' BETWEEN STR_TO_DATE('2017-05-18', '%Y-%m-%d') AND STR_TO_DATE('2017-06-01', '%Y-%m-%d')
не захватывает новости где date_from 2017-05-20 а date_to 2017-05-21 или date_from 2017-05-19 и date_to 2017-05-19 , то есть в тех где сегодняшней даты нет в диапазоне с date_from до date_to но если date_from 2017-05-17 и date_to 2017-05-25 то всё норм
date_from и date_to это доп поля, dle 11.3