HTTP 500 错误但确实将数据存储到数据库 - Wordpress new-post.php、post.php、edit-post.php 在更新数据结构和插件后无法正常工作

HTTP 500 Error but does store data to database - Wordpress new-post.php, post.php, edit-post.php not working after updating data structure and plugins

位于 "wp-admin/includes/" 的 "post.php" 文件中的 wordpress 函数 "get_default_post_to_edit" 无法正常工作。

当我加载页面时:wp-admin/post-new.php?post_type=产品:我收到 HTTP 500 错误,但它确实在我的数据库中存储了一条记录,但是$post_id echo's '0' (在新记录中不是 0).

当我注释掉下面的行时,在我上面提到的这个函数中,我没有收到 HTTP 500 错误,但是我的页面无法正常工作:

$post_id = wp_insert_post( array( 'post_title' => __( 'Auto Draft' ), 'post_type' => $post_type, 'post_status' => 'auto-draft' ) );

当我在 $post_id = wp_insert_post(... 之后添加以下代码时,它会回显 'NULL':

exit(var_dump( $wpdb->last_query));

当我尝试保存产品页面时,它告诉我我没有这样做的权限。

此外,当我尝试编辑较早发布的产品时,我可以检索所有信息,但是当我尝试保存更改时,它再次在脚本 "post.php" 中抛出 HTTP 500 错误,代码如下:

    $success = wp_update_post( $post_data );

在那种情况下我如何调试或排除 wordpress 故障?

编辑

我刚刚注意到我无法使用 WordPress 添加、编辑或删除任何内容而不会出现 HTTP 500 错误,但它确实 add/edit/delete 将内容添加到数据库中。

所有这一切都发生在我更新了 WooCommerce 和其他一些插件并更新了数据结构之后,我将新脚本与旧脚本进行了比较,但没有发现任何区别。

原来是 WooCommerce 3.0.3 的更新导致整个网站崩溃了.. 再次降级,现在正在阅读如何正确迁移.. 显然,这是一次重大升级,他们已转向新的 "CRUD" 方法,基本上是在网站和数据库之间添加另一层..

向下滚动此站点,直到您看到有关以下内容的部分:升级到 3.0 https://woocommerce.wordpress.com/2017/04/04/say-hello-to-woocommerce-3-0-bionic-butterfly/

编辑:大部分问题都是通过阅读 woocommerce 的迁移说明解决的,但是后端使用 post.php 例如是因为第三方插件与 woocommerce 3.0 不兼容。