【问题标题】:"Page not found" after importing posts to Wordpress using mysql LOAD DATA INFILE使用 mysql LOAD DATA INFILE 将帖子导入 Wordpress 后“找不到页面”
【发布时间】:2017-05-15 13:49:18
【问题描述】:

我已经使用 LOAD DATA INFILE 成功地将 310,000 个帖子导入到表 wp_posts(任何基于 php 的脚本/wp 插件都已超时,因此我不得不使用 MySQL only 选项)。

我的问题是,虽然帖子在 wp-admin 中看起来不错,但前端无法访问它们,“找不到页面”。

手动“更新/保存”帖子允许从前端访问它。显然,我不能用 310,000 个帖子做到这一点。

我尝试过的事情:-

  • 保存永久链接而不进行更改
  • 保存更改后的永久链接
  • 禁用所有插件并一次重新启用它们
  • 手动更新 .htaccess
  • 为一些帖子添加 postmeta(从更新的工作帖子中输入相同的数据)以查看 Wordpress 是否依赖于任何此元。
  • 将更新后的帖子行与wp_posts 中未修改的帖子行进行比较,看看是否有任何差异(没有)

我应该提到我正在使用 WooCommerce(所以帖子是“po​​st_type=product”并且所有添加的元数据都是针对 WooCommerce 的),但我坚信问题出在 Wordpress 而不是 WooCommerce 上(除非你可以告诉我!)

非常感谢!

【问题讨论】:

  • 由于您可以访问数据库,我建议您在保存页面后检查哪些更改。例如:比较前后状态。然后您应该能够运行一个简单的脚本来自动执行这些更改。也许这与发布日期或其他一些元数据有关。

标签: mysql wordpress woocommerce load-data-infile


【解决方案1】:

Phill Healey 让我走上了正确的道路来回答我自己的问题。

对于将来遇到此问题的任何人...

我为表 wp_posts 导出了我的 sql 文件,然后保存了一个帖子,导出了一个新版本的表,然后使用文本编辑器对它们进行了比较(这需要很长时间)。这暴露了我的问题是什么......

我的问题在于我的字段中有\r 字符。我隐约记得设置 LOAD DATA INFILE 使用哪种类型的线路端,我不知道选择哪个选项,所以(我认为)新的马车。我认为这就是困扰我的原因。

我对所有 \r 字符做了一个不那么漂亮而且可能很顽皮的替换,现在可以访问我的所有帖子了!!

【讨论】:

    猜你喜欢
    • 2011-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-02
    • 2013-01-14
    • 1970-01-01
    相关资源
    最近更新 更多