Tengo el siguiente código de mi theme en Wordpress en el cual quiero marcarle que pueda tener como máximo 24 "entradas o categorías":
Código:
// directory home page category display
if (!function_exists('cp_directory_cat_columns')) {
function cp_directory_cat_columns($cols) {
// 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
// loop through all the sub
foreach($cats as $cat) {
if (($i == 0) || ($i == $cats_per_col) || ($i == ($cats_per_col * 2))) {
?>
<div class="catcol">
<?php
}
?>
<ul>
<li class="maincat"><a href="<?php echo get_category_link($cat->term_id); ?>"><?php echo $cat->name; ?></a> (<?php echo $cat->category_count; ?>)</li>
<?php
// now get all the sub cats based off the parent cat id
$subcats = wp_list_categories('orderby=name&order=asc&hierarchical=0&show_count=1&use_desc_for_title=0&hide_empty=0&depth=1&number='.get_option('cp_dir_sub_num').'&title_li=&echo=0&child_of='.$cat->cat_ID);
// strip out the default wp title tag since the use_desc_for_title param doesn't seem to work in WP 2.9.2
$subcats = preg_replace('/title=\"(.*?)\"/','',$subcats);
// if you want to strip out the no categories text, just uncomment the line below
// $subcats = str_replace('<li>No categories</li>', '', $subcats);
// print out all the subcats for the current parent cat
echo $subcats;
?>
</ul>
<?php
if (($i == ($cats_per_col - 1)) || ($i == (($cats_per_col * 2) - 1)) || ($i == ($total_main_cats - 1))) {
?>
</div><!-- /catcol -->
<?php
}
$i++;
}
}
}
Según leo en los comentarios del código debería modificarlo aquí:
Código:
Modificar las 3 líneas y dejarlas así:$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
Código:
Pero haciendo esto se queda exactamente como está, en una única columna con las 72 categorías en ella con lo que aparece una columna extremadamente larga.$i = 0; $cat_cols = 3; // change this to add/remove columns $total_main_cats = 72; // total number of parent cats $cats_per_col = round($total_main_cats / $cat_cols); // items per column
¿Qué debería modificar para poder hacer que esos 72 items se repartan en 3 columnas?
Saludos


