Carpi
Estoy tratando de mostrar el título de una página de taxonomía cuando la veo.
Entonces, si estuviera en una página de ‘etiquetas’, diría:
<?php if (is_tag()) {?>
<h1><?php single_cat_title(); ?></h1>
<?php } ?>
Pero, ¿cómo lograría lo mismo si el usuario está viendo una página de taxonomía específica?
is_taxonomy()
no existe
Encontré esta respuesta para cualquier otra persona que se pregunte.
Sigue esta guía: http://justintadlock.com/archives/2009/06/04/using-custom-taxonomies-to-create-a-movie-database
Justo en la parte inferior, la línea buscada era:
<?php $term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) ); echo $term->name; ?>
-
Ah, ja, te tengo. Sí, esto está en WordPress 3.0, con el que aún no me he metido. ¡Me alegro de que hayas encontrado tu respuesta!
– hsatterwhite
10 mayo 2010 a las 20:50
Murfo
se puede hacer súper fácil con:
<?php echo get_queried_object()->name; //output $taxonomy->$tax the simple way ?>
name
cuando esté en alguna página de taxonomía personalizada, será el término de taxonomía, por ejemplo, en algo como example.com/books/Fiction
esto hará eco fiction
.
En vez de name
también podrías usar taxonomy
que hará eco books
.
Y dicho brevemente, las taxonomías NO son categorías ni páginas ni comentarios, son algo que declaras, como “productos” o “libros”. Al usar eso, desbloquea la funcionalidad de tipo de publicación personalizada de WordPress. Puedes hacer el tuyo archive-products.php
, page-products.php
, single-products.php
y divertirse mucho con él. 🙂
Aquí hay un ejemplo completo, que modifica el título solo para las páginas de listado de taxonomías, usando la función is_tax()
<title><?php
global $page, $paged, $post;
if (is_tax()) {
$term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) );
$term_title = $term->name;
echo "$term_title | ";
} else {
wp_title( '|', true, 'right' );
}
// Add the blog name.
bloginfo( 'name' );
// Add the blog description for the home/front page.
$site_description = get_bloginfo( 'description', 'display' );
if ( $site_description && ( is_home() || is_front_page() ) )
echo " | $site_description";
// Add a page number if necessary:
if ( $paged >= 2 || $page >= 2 )
echo ' | ' . sprintf( __( 'Page %s', 'twentyten' ), max( $paged, $page ) );
?></title>
Puedes usar el título_término_único() función.
Creo que es bastante fácil usar la función single_cat_title().
Mira aquí para más detalles.
¿Podría proporcionar más detalles? ¿A qué te refieres específicamente cuando dices taxonomía? En WordPress tienes páginas, publicaciones, categorías, etiquetas y páginas de resultados de búsqueda.
– hsatterwhite
10 mayo 2010 a las 19:46
Hola esto es lo que estoy usando: justintadlock.com/archives/2009/05/06/…
– Carpi
10 mayo 2010 a las 19:55