如何为所有帖子提取CPT的定制字段的内容?

时间:2017-02-09 作者:That Brazilian Guy

我需要生成一个CSV报告,其中包含存储在自定义帖子类型的几个自定义字段中的信息。如何列出所有自定义字段的内容—或子集—这些自定义帖子类型中的哪种?

(我正试图使用wp cli来实现这一点,因为它是一个功能强大、用途广泛的工具,以前从未让我失望过。如果我将其作为X-Y problem“!)

现在我只知道wp post list --post_type=<MYCPT> --posts_per_page=1 给我最新的帖子,然后wp post meta list <ID> 使用上一个命令中返回的ID。

这列出了我all 的自定义字段single 自定义帖子。然而,我需要的是just a few 自定义字段,用于all 此类型的自定义帖子。

我想我可以编写一个bash脚本来迭代所有内容,并只对我想要的自定义字段进行grep,但是有没有更简单的方法呢?

1 个回复
SO网友:That Brazilian Guy

我通过将wp cli与xargs和grep连接在一起,实现了我的目标,如下所示:

wp post list --post_type=CPTNAME --field=ID | xargs -n 1 wp post meta list --format=csv | grep -E "^[[:digit:]]*,(CUSTOMFIELD1|CUSTOMFIELD2|...|CUSTOMFIELDN)" >> file.csv
然而,这是,extremely slow, 花费超过30分钟完成10000个CPT。

我认为直接SQL查询将更加高效。

相关推荐

WP-CLI:对于开发,我如何激活本地磁盘上但没有压缩的主题?

我正在开发一个WP主题,我将其称为foobar 为了这个问题。它位于/var/www/html/wp-content/themes/foobar. 目前,我正在通过wp-admin 网页和更改在我保存相应文件后立即生效,这是所需的行为。现在,我想使用wp-cli 激活我的主题以优化部署。然而,到目前为止,我还无法做到这一点:$ wp theme activate foobar Error: Stylesheet is missing. 这令人困惑,因为样式表确实存在:$ file /v