Я полагаю, вы говорите о плагине WP All Import
. Вы хотите отфильтровать файл XML
, чтобы отображать определенные c сообщения (где LET_DATE_AVAILABLE
значение не установлено для следующих месяцев).
Поддержка AFAIK XPath в WP All Import
очень ограничена ( только версия 1.0). Чтобы отфильтровать сообщения до текущей даты (20200804
), вы можете попробовать следующее выражение XPath (вам нужно настроить начало, например, «//POSTS[/PROPERTIES/LET_DATE_AVAILABLE[....]]
»).
Но я почти уверен, что это не будет работать, так как мы используем множество функций (number, translate, substring
).
Предполагая, что у вас есть эти данные:
<ROOT>
<LET_DATE_AVAILABLE>
<![CDATA[ 2020-08-18 00:00:00 ]]>
</LET_DATE_AVAILABLE>
<LET_DATE_AVAILABLE>
<![CDATA[ 2020-11-18 00:00:00 ]]>
</LET_DATE_AVAILABLE>
<LET_DATE_AVAILABLE>
<![CDATA[ 2020-12-18 00:00:00 ]]>
</LET_DATE_AVAILABLE>
<LET_DATE_AVAILABLE>
<![CDATA[ 2020-07-18 00:00:00 ]]>
</LET_DATE_AVAILABLE>
</ROOT>
выражение XPath 1.0 (вам нужно вручную ввести текущую дату ):
//LET_DATE_AVAILABLE[number(translate(substring(.,1,14),"-",""))<=20200804]
выражение XPath 2.0 (оно вообще не будет работать. Просто чтобы показать, что это было бы возможно, если бы плагин мог поддерживать XPath 2.0):
//LET_DATE_AVAILABLE[number(translate(substring(.,1,14),"-",""))<=number(translate(substring(concat(current-date(),""),1,10),"-",""))]
Вывод в обоих случаях 1 узел:
<LET_DATE_AVAILABLE>
2020-07-18 00:00:00
</LET_DATE_AVAILABLE>
Чтобы это работало, я думаю, ваш лучший вариант - написать свою собственную функцию импорта в PHP
. Каталожные номера: