Magento category children count fix

The children_count field in Magento can sometimes become inaccurate if you have created a category via the PHP API and set an entity_id whilst doing so. It is due to part of the after_save mechanism which overrides the children_count parameter (even if explicitly set via $_category->setChildrenCount()). For the majority of the admin area, an inaccurate children count won’t normally pose an issue, however, upon using the AJAX category tree (Eg. in product edit, promotional rules etc.) – any category with an inaccurate children count may not display the expand icon. It can quickly and easily be reset, albeit with a bit of quick and dirty SQL. CREATE TABLE catalog_category_entity_tmp LIKE catalog_category_entity; INSERT INTO catalog_category_entity_tmp SELECT * FROM catalog_category_entity; UPDATE catalog_category_entity cce SET children_count = ( SELECT count(cce2.entity_id) as children_county FROM catalog_category_entity_tmp cce2 WHERE PATH LIKE CONCAT(cce.path,’%') ); DROP TABLE catalog_category_entity_tmp;