我在Rup之后解决了这个问题,在其中一条评论中指出,父类别下拉列表很可能是罪魁祸首。果然,这就是问题所在。WordPress似乎试图在下拉列表中填充15000个项目,这导致为检索这些项目而进行的查询过多。
我的实例中的简单修复方法是使我的自定义分类法成为非层次的。我的位置没有使用任何父/子关系,因此结构可以是平面的,而只是独立的位置术语。
$args = [
"label" => __( "Locations", "propertynet" ),
"labels" => $labels,
"public" => true,
"publicly_queryable" => true,
"hierarchical" => false,
"show_ui" => true,
"show_in_menu" => true,
"show_in_nav_menus" => true,
"query_var" => true,
"rewrite" => [ \'slug\' => \'location\', \'with_front\' => true, ],
"show_admin_column" => false,
"show_in_rest" => true,
"rest_base" => "location",
"rest_controller_class" => "WP_REST_Terms_Controller",
"show_in_quick_edit" => false,
];
将taxonomy参数的configuration属性设置为
false
是什么让WordPress能够处理我的大量术语:
"hierarchical" => false
- 如果您希望术语具有层次结构,那么这会带来一个更大的问题,这似乎需要重新实现父类别下拉列表以支持AJAX加载,并与此屏幕上分页的正常工作方式类似。
希望这能帮助其他遇到同样问题的人。