Por lo que entiendo lo que están haciendo estas líneas:
Código:
// get all cats except for the blog
$cats = get_categories('hide_empty=0&hierarchical=0&pad_counts=1&show_count=1&orderby=name&order=ASC&exclude='.CP_BLOG_CAT_ID);
// remove all sub cats from the array
foreach ($cats as $key => $value){
if ($value->category_parent != 0)
unset($cats[$key]);
}
$i = 0;
$cat_cols = $cols; // change this to add/remove columns
$total_main_cats = count($cats); // total number of parent cats
$cats_per_col = round($total_main_cats / $cat_cols); // items per column
Es contar el numero de categorías que hay con el parámetro $cats y ese total dividirlo por el parámetro resultante del $cat_cols. Es decir, que si cambio $cols por un 3 no debería coger automáticamente y dividir las categorías por 3 y redondear? Porque no entiendo el por qué no lo hace.