2010-11-27 28 views
25

Estoy terminando un tema de WP, y estoy en la plantilla single.php. Tengo algunos problemas porque necesito acceder a la categoría principal en la que se encuentra una publicación para mostrar ciertas imágenes y contenido XML.Obtiene la categoría de WordPress desde publicación única

Aquí hay un ejemplo de lo que estoy hablando. La siguiente es la url final de un solo mensaje:

/Andrew/hoja-art-2/

/andrew/ es la categoría, y leaf-art-2 es el único puesto. Cuando estoy en la publicación única, tengo problemas para obtener single_cat_title(); para devolver la categoría en la que está la publicación actual. Estoy usando single_cat_title(); en lugar de porque muestra el valor de la cadena de la categoría que luego uso para colocar una imagen de el artista (cuya categoría es esta) en sus publicaciones. No tengo ningún uso para la url, solo necesito la cadena con el nombre de la categoría.

¿Alguna buena forma de hacer esto? He estado buscando en Wordpress Codex y en muchos foros, y todavía no he encontrado ninguna respuesta.


La siguiente era mi publicación original.

He creado una categoría llamada "artistas" que cuando ejecuto single_cat_title("", false); puedo obtener el valor de la cadena de la categoría y luego usarla para buscar la imagen del artista adecuada mediante XML.

Esto funciona bien en la página de la plantilla category.php.

El problema es que cuando estoy realmente dentro de una sola publicación que tiene la categoría "artistas", single_cat_title(); no genera ninguna información en la página, impidiéndome acceder a los datos XML.

Necesito, mientras que en la publicación "artistas"> "muestra", poder obtener de WP la categoría.

P.S. la categoría anterior es una de las muchas que está usando esta configuración, por lo que no puedo codificarla.

Respuesta

51

¿Qué tal get_the_category?

A continuación, puede hacer

$category = get_the_category(); 
$firstCategory = $category[0]->cat_name; 
+0

Gracias por la respuesta. Vi esto, pero asumí que [0] llamaría desde la primera de todas las categorías, no la primera de todas las categorías en las que se publicó la publicación. ¡Gracias! – Ian

+0

Nota: si tiene una taxonomía personalizada (no la "categoría" predeterminada), puede usar ['get_the_terms();'] (https://developer.wordpress.org/reference/functions/get_the_terms/) –

6

Para el perezoso y el aprendizaje, para ponerlo en su tema, el código completo de Rfvgyhn

<?php $category = get_the_category(); 
$firstCategory = $category[0]->cat_name; echo $firstCategory;?> 
Cuestiones relacionadas