【问题标题】:Change Post Id in wordpress post在 wordpress 帖子中更改帖子 ID
【发布时间】:2019-02-21 10:42:49
【问题描述】:

我必须为自定义帖子类型添加自定义帖子 ID。谁能帮我? 检查屏幕短以获取更多详细信息。 http://prntscr.com/mo3eyu

【问题讨论】:

  • 怎么改? id 是 WordPress 自动生成的序列号,用于引用数据库中的帖子数据。在我看来,这真的不值得搞砸
  • 感谢您的评论,我知道但有一些 API 问题,所以我想更改
  • 接受的答案没有回答问题。这是一个更好的讨论:stackoverflow.com/questions/6558286/…

标签: php wordpress post plugins


【解决方案1】:

ID 决定了数据库中的帖子记录存储,直接更改它们很容易破坏事情。例如,扩展程序通常存储 ID 作为引用特定帖子并对其进行处理的一种方式。

更改为一些 ID 的简单方法是创建一个新帖子并复制数据(通过管理员或使用代码)。

【讨论】:

  • 为什么这个答案会被接受?这根本无法回答问题。
  • @JohnDee 确实如此,答案是——不要这样做,它会破坏事情。
  • 是的,那不是很有用。这有很多用例。我正在迁移一个包含 10k 个帖子的网站,我需要保留帖子 ID。有很多原因。
  • @JohnDee 参加聚会有点晚了,但请参阅 stackoverflow.com/a/64814253/3298119 以了解解决方法
【解决方案2】:

帖子的帖子 ID 也反映在 Post 表以外的表中,例如 post cmets 表。更改 post ID 会扰乱 post 表与其他表的关系,因此不建议这样做。

【讨论】:

    【解决方案3】:

    这是一种可行的解决方法。

    背景信息: 我们维护几个几乎相同的网页,但品牌不同。代码仓库在这些之间共享。过去,开发人员将页面 ID 硬编码到 PHP 中。我被要求添加新页面。在每个网站上添加新页面后,我注意到 ID 都是随机生成的。这打破了 PHP 代码的逻辑。所以,我需要像 OP 一样编辑这些 ID。

    解决方法:

    在 WP Web 管理页面中,工具菜单下有一个导出/导入功能。新页面应在一个站点中创建,然后导出/导入到其他站点。这样,页面 ID 就不会随机创建。它从导出的页面复制 ID。因此,您可以在所有页面上使用相同的 ID。

    PS:

    不确定为什么过去的开发人员决定在代码中硬编码页面 ID。这不应该是一开始的情况。当您没有太多时间重构所有内容时,堆栈溢出总是会派上用场。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-21
      • 2010-12-04
      • 1970-01-01
      • 1970-01-01
      • 2017-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多