我将我的数据库以及WordPress文件迁移到了一个新主机,我有一个使用WooCommerce的在线商店,迁移后一切都很顺利,起初我没有注意到的是,当我访问时,WooCommerce类别不再显示在管理面板中:/wp-admin/edit-tags.php?taxonomy=product_cat&post_type=product
它给了我两页,上面写着26个项目,但列表中什么都没有显示。
我查看了错误日志,发现了一些应该与此问题相关的查询,例如:
SELECT DISTINCT t.*, tt.* FROM wp_terms AS t LEFT JOIN wp_termmeta ON ( t.term_id = wp_termmeta.term_id AND wp_termmeta.meta_key=\'order\') INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id WHERE tt.taxonomy IN (\'product_cat\') AND ( ( wp_termmeta.meta_key = \'order\' OR wp_termmeta.meta_key IS NULL )) ORDER BY wp_termmeta.meta_value+0 ASC, t.name ASC
当我运行这个查询时,MySQL说:
#3065 - Expression #1 of ORDER BY clause is not in SELECT list, references column \'as7ab_db.wp_termmeta.meta_value\' which is not in SELECT list; this is incompatible with DISTINCT
我将WooCommerce更新为最新版本,但问题仍然存在。