You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过WP CLI获取WordPress文章及Yoast元描述仅返回最后一条怎么办

问题原因

当前命令存在两个核心问题,导致无法返回全量数据:

  • 直接把自定义meta键_yoast_wpseo_metadesc写入--fields参数是无效的。WP-CLI默认仅支持直接输出wp_posts表的原生字段,自定义文章meta字段不会被自动映射取值,这种错误写法会触发旧版本WP-CLI的结果集映射bug,导致输出内容被最后一条记录覆盖。
  • 未显式指定全量输出参数,部分安装了内容过滤、SEO插件的WordPress环境会通过钩子修改查询分页大小,覆盖WP-CLI默认的全量查询规则,导致仅返回部分内容。
可用命令

执行以下命令即可导出全量已发布文章及对应Yoast元描述:

wp post list --post_type=post --post_status=publish --posts_per_page=-1 \
  --fields=ID,post_title,post_type,post_status,yoast_metadesc \
  --with_fields='{"yoast_metadesc": function($post) { return get_post_meta($post->ID, "_yoast_wpseo_metadesc", true); }}'

参数调整说明

  • 若需要同时查询页面、自定义文章类型,将--post_type=post修改为--post_type=any
  • 若需要包含草稿、待审核等非已发布内容,将--post_status=publish修改为--post_status=any
  • 若需要将结果导出为CSV文件本地保存,在命令末尾追加--format=csv > wp_posts_metadesc.csv即可

简化版命令

如果不需要自定义元描述的列名,可使用更短的命令实现相同效果,元描述会显示在meta_value列下:

wp post list --post_type=post --post_status=publish --posts_per_page=-1 --meta_key=_yoast_wpseo_metadesc --fields=ID,post_title,post_type,post_status,meta_value

内容的提问来源于stack exchange,提问作者Wes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 16:15:11