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

时间:2017-04-18 12:49:46

标签: php mysql wordpress post wp-admin

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

当我加载页面时:wp-admin / post-new.php?post_type = product:我收到HTTP 500错误,但它确实在我的数据库中存储了一条记录,但$ post_id echo的'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错误,但它确实会将内容添加/编辑/删除到数据库中。

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

1 个答案:

答案 0 :(得分:0)

事实证明,正是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不兼容。