Cuando vamos siendo usuarios más avanzados de WordPress, nos damos cuenta que necesitamos organizar la información de determinadas formas más avanzadas.
Si tenemos varios tipos diferentes de post, que tienen una propiedad común: necesitamos crear taxonomías personalizadas.
Cuando tenemos taxonomías personalizadas y vamos a nuestros posts, rápidamente echaremos de menos poder filtrarlos por esa taxonomía. Para resolver eso, tenemos que utilizar el siguiente código:
function filtro_personalizado_taxonomia()
{
global $typenow;
// En el siguiente array añadimos la taxonomía que queremos mostrar.
// Hay que poner el slug de la taxonomía
$taxonomias = array('taxonomianueva');
// Debemos seleccionar el tipo de post sobre el que se va a mostrar
if( $typenow == 'product' ){
foreach ($taxonomias as $slug_taxonomia) {
$taxonomia = get_taxonomy($slug_taxonomia);
$nombre_taxonomia = $taxonomia->labels->name;
$terms = get_terms($slug_taxonomia);
if(count($terms) > 0)
{
echo "<select name='$slug_taxonomia' id='$slug_taxonomia' class='postform'>";
echo "<option value=''>Mostrar todos $nombre_taxonomia</option>";
foreach ($terms as $term) {
echo '<option value='. $term->slug, $_GET[$slug_taxonomia] == $term->slug ? ' selected="selected"' : '','>' . $term->name .' (' . $term->count .')</option>';
}
echo "</select>";
}
}
}
}
add_action( 'restrict_manage_posts', 'filtro_personalizado_taxonomia' );
Como siempre, este código debemos introducirlo en nuestro fichero functions.php
del tema hijo o bien utilizando Code Snippets (que ya sabéis que me encanta).