永久删除WordPress帖子仍有ID

时间:2019-03-30 作者:Toodarday

现在我有100篇帖子。如果我添加一个新帖子,它的ID将为101。如果我删除了所有当前的100篇帖子,那么新帖子仍然会有ID 101,而它应该有1或0。

如何删除所有帖子记录。

3 个回复
SO网友:tmdesigned

即使你想办法重置帖子并假装它没有发生,你shouldn\'t.

WordPress使用关系数据库结构。简而言之,数据库中的一组不同的表相互指向并相互依赖。每一行的ID值,例如post的post ID,对于链接不同表中的不同行尤其重要。

例如,“posts”表存储关于每个帖子的基本信息,包括帖子ID。“post\\u meta”表存储关于帖子的附加信息,链接到该帖子ID。“comments”表存储评论,还交叉引用这些帖子ID。这个清单不胜枚举。

即使在同一个表(“posts”)中,其他条目(如修订)也会引用原始post ID!

正如你所见,这是一个复杂的关系网。如果WordPress被设计为在你丢弃一篇文章时返回并清除所有这些链接,那么我想它会起作用。它仍然会令人困惑,用户体验也很糟糕,就像@LorenRosen所提到的,这也是WordPress不这样做的原因之一。

但事实是,当你把一篇帖子扔掉时,WordPress不会为你做所有这些。我相信,当帖子被永久删除时,其中一些数据就会被删除。但是,许多其他记录不仅会被打破,而且会出错。

总之,这不是一个好主意。帖子ID通常对用户隐藏,除非你没有使用永久链接,那么你到底想实现什么呢?

SO网友:Loren Rosen

每个帖子都会得到一个在任何时候都是唯一的ID(关于该站点)。否则,会引起很多混乱。例如,想象一下,如果有人在帖子1上添加了书签(通过id,而不是slug),然后稍后查看,并发现一个完全不同的帖子,而不是说它已被删除。

SO网友:Pramod Kharade

您需要截断表以重置ID,然后post ID将从第一个开始。

TRUNCATE TABLE wp_posts;
TRUNCATE TABLE wp_post_meta;

相关推荐

如何知道Get_Posts()是否失败?

因此,我看到get\\u posts()函数返回一个post数组。如果有帖子,它将返回一个帖子数组。如果没有帖子,它将返回一个空数组()。如果有帖子,但数据库查询失败(比如说,99.999%的次数返回正确,但这次由于某种原因失败),它将返回一个空数组。(重要提示:我不确定这一点,这是我在阅读此函数的工作原理时所理解的)。我的问题是:如果我使用这个函数,什么时候才能知道函数是否失败?(就像有些函数返回WP\\U错误一样。)