为什么我不能在 Wordpress 中创建新帖子?警告:从第 716 行的 /public_html/wp-admin/includes/post.php 中的空值创建默认对象

Sag*_*aga 5 php database wordpress auto-increment

我遇到了一个问题,我无法再在我的 Wordpress 网站上创建新帖子。

我认为这是在不久前的 Wordpress 更新之后开始的。我在上传图片时也遇到了问题,我看到了幽灵评论(一个关于新评论的图标,但实际上没有评论显示在列表中)。

单击“帖子>添加新”时,我会看到一个带有此警告的白页:

“警告:从第 716 行的 /public_html/wp-admin/includes/post.php 中的空值创建默认对象”

这是第 716 行:

    $post->post_content = (string) apply_filters( 'default_content', $post_content, $post );
Run Code Online (Sandbox Code Playgroud)

在网上搜索后,我认为这些问题与我的数据库有关。我是处理数据库的新手,所以我希望能在这里得到一些帮助。

我尝试过的事情:

  • 使用标准主题
  • 禁用所有插件
  • 更新 Wordpress
  • 降级到 Wordpress 4.0
  • 修复数据库表
  • 运行健康检查我发现 SQL 很旧(5.5.52-MariaDB-cll-lve)。这可能相关吗?
  • 在 phpMyAdmin 中检查 AUTO_INCREMENT 框的“wp_posts > structure > ID”和“wp_postmeta > structure > idmeta_id”

auto_increment 帮助消除了错误,但它导致了一些新问题。我激活了它,然后可以点击“帖子 > 添加新的”。然而,Wordpress 创建了同一个帖子的多个副本,大约十五个帖子而不是一个。我删除了它们并尝试创建一个新帖子,但它仍然记得被删除的帖子并尝试从垃圾箱中的帖子重新创建一个新帖子。

我检查并尝试过的链接:

我觉得这也可能是相关的,但我不确定如何使用它:

超级感谢任何帮助!

Kel*_*vin 9

该错误是因为表wp_posts的列 ID 禁用了 Auto_increment 。您可以从PhpMyAdmin启用自动增量选项。

wp_posts -> 结构 -> 更改列 ID 选项 -> 检查 AUTO_INCREMENT 选项 -> 保存。

您可以在数据库中运行以下查询:

更改表wp_posts更改ID IDBIGINT(20) 无符号非空自动增量;`

您可能还需要为表wp_postmeta启用自动增量。


Sag*_*aga 1

更新:只是想澄清这是一个解决方法,我仍然不知道到底是什么问题。

将其留在这里以防其他人遇到同样的问题。我向我兄弟寻求帮助,由于出现了很多奇怪的错误,我们决定重新安装 WordPress。我们就是这样做的:

  1. 使用“工具”>“导出”选项进行备份
  2. 进入 wp-config 文件并将表前缀名称更改为全新的名称。$table_prefix = '更改此名称';
  3. 访问 mysite.com/wp-admin 并填写 WordPress 安装中的信息。
  4. 转到“工具”>“导入”>“WordPress”。包括附件。
  5. 大约花了半个小时所有内容才重新出现,但现在似乎可以正常工作。