Blog de programación Web y SEO, Ingeniero Industrial

Cómo mostrar las Subcategorías de la categoría actual en un Widget de WordPress

Tenemos que poner un Widget en WordPress que permita insertar php.
Para ello instalaremos un plugin como custom php widget.

Luego en el widget pegamos éste código:

Subcategorías

';
echo '

Subcategorías en ';
echo $cur_cat_name;
echo ':

';
echo '

';
if ($cur_cat) {
$new_cats = wp_list_categories('number=150&echo=false&child_of=' . $cur_cat . '&depth=1&hide_empty=false&title_li=');
echo '' . $new_cats . '';
}
echo '

';
}
}
?>

La variable $tpl_body_id la utilizamos para definir que no aparezca éste widget en la página index.
Para ello en nuestro index o home.php podemos pegar éste código:

ACTUALIZACIÓN

Con la variable wp_list_categories(‘number=100 limitamos el número de subcategorías que se muestran.
Esta variable acelera en gran medida la carga de la página, puesto que una vez que se logran los 100 primeros resultados, el script deja de recorrer la base de datos.

El problema que puede ocurrir es que se existan más de 100 categorías y que no las hayamos mostrado todas.

Para ello vamos a utilizar un código añadido al final. Que captura la categoría que se está mostrando y nos lleve a ella para en esa página si mostrar todos los resultados de la subcategoría.

En este caso no usaré la variable get_category_children, puesto que como en la otra, si averiguamos si hay hijos de ésta categoría (subcategorías) tenemos que recorrer toda la tabla. En mi caso uso estas variables en webs de WPress de más de 100.000 posts, con lo cual la carga del servidor es excesiva.

Subcategorías

';
echo '

Subcategorías en ';
echo $cur_cat_name;
echo ':

';
echo '

';
if ($cur_cat) {
$new_cats = wp_list_categories('number=100&echo=false&child_of=' . $cur_cat . '&depth=1&hide_empty=false&title_li=');
echo '' . $new_cats . '';
}
/* RUTINA PARA MOSTRAR LAS SUBCATEGORIAS */
$paged = (get_query_var('paged'));
$this_category = get_category($cat);
/* MOSTRAR VER SUBCATEGORIAS SOLO SI TIENE HIJOS - LO COMENTO Y LO DESACTIVO POR QUE RALENTIZA LA CARGA
if (get_category_children($this_category->cat_ID) != "") { }*/
$cat = get_the_category();
echo $cat_ID;
$cat = get_query_var('cat');
echo '

';
/* FIN MOSTRAR SUBCATEGORIAS*/
echo '

';
}
}
?>

Una respuesta a Cómo mostrar las Subcategorías de la categoría actual en un Widget de WordPress

Página 1 de 11
Página 1 de 11

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Categorías del Blog
Comprueba dominios libres