wordpress - XPath Wordpress 过滤
问题描述
基本上,我使用插件来显示房地产帖子,在此处输入图像描述
XML 包含带有 LET DATE 的数据。所以基本上,当他们到达这个日期时,我需要创建属性。但我不知道如何进行过滤,因为某些属性已在接下来的 2 个月内发布日期,我不希望它们显示。
任何想法?
解决方案
我想你在谈论WP All Import
插件。您想要过滤XML
文件以显示特定的帖子(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
. 参考 :
推荐阅读
- erlang - Erlang 中是否有可用的模块来查找无向图的所有循环?
- java - 将休眠事件记录在与标准输出控制台附加程序不同的文件中
- snowflake-cloud-data-platform - Snowflake SCIM 错误“指定的组成员资格值无效”
- php - 省略包控制器的 `redirect()->action()` 方法的默认控制器命名空间
- qt - 设置弹出高度以包含内容
- typescript - 从 Firebase Cloud Function 调用 Google Books API 时出现 500 错误
- java - 无法使用 scala 解密 OpenSSL 生成的私钥
- performance - 连续调用 fortran 中的同一子例程,性能显着降低
- javascript - 场景光标中断 raycaster
- java - 我无法打开 jar 文件