comprobar categoria y post_type 6/10/2011 at 19:06
Hola,
¿Como tendría que hacer para que estas comprobaciones en el loop del theme de carousel funcionen?
if(in_category(‘noticias’)){
$palabra=”NOTICIAS”;
$color= “#22B373″;
$icon= “noticia”;
}
if(in_category(‘articulos’)){
$palabra=”ARTÍCULOS”;
$color= “#EB1E79″;
$icon= “articulo”;
}
if (get_post_type()==’musica’){
$palabra=”MUSICA”;
$color= “#29A9E0″;
$icon= “musica”;
}
Un saludo y gracias!
Reply To: comprobar categoria y post_type 7/10/2011 at 17:29
Asumiendo que este código se añade dentro del loop de WP Carousel:
<?php
if(in_category(‘noticias’, $item['ID'])){
$palabra="NOTICIAS";
$color= "#22B373";
$icon= "noticia";
}
if(in_category(‘articulos’, $item['ID'])){
$palabra="ARTÍCULOS";
$color= "#EB1E79";
$icon= "articulo";
}
if (get_post_type($item['ID'])==’musica’){
$palabra="MUSICA";
$color= "#29A9E0";
$icon= "musica";
}
?>
Lo único que debes tener en cuenta es que el bucle de WP Carousel NO funciona como el de WordPress. El de WordPress va recorriendo una lista de artículos. Mientras lo hace, hay una variable que va apuntando al artículo que se está mostrando en cada iteración del bucle.
Esto no sucede en WP Carousel. El bucle de WP Carousel es un simple foreach, y no hay ninguna variable externa a las del propio bucle que indique en qué elemento se está actualmente.
Las funciones que has utilizado para detectar la categoría admiten un parámetro opcional para especificar la ID del artículo que se quiere comprobar. Por defecto si no se especifica esta variable toma el artículo al que está apuntando la variable que he comentado antes del loop de WordPress.
Como en WP Carousel esta variable no se usa, sigue teniendo el mismo valor que tenía antes de ejecutarse el bucle de WP Carousel, por tanto no apunta al artículo que se está mostrando en el carrusel.
Para solventar este problema, WP Carousel te ofrece diversas propiedades del artículo que se está mostrando en la matriz $item. Concretamente, el índice “ID” de esta matriz es la ID del artículo, la misma ID que utiliza WordPress para referirse a ellos.
Por tanto sólo necesitas pasar esa ID como parámetro a las funciones que has usado para que en lugar de comprobar el último artículo del loop de WordPress, se compruebe el artículo actual del bucle de WP Carousel.
Con el código que he publicando antes no deberías tener ningún problema.
Reply To: comprobar categoria y post_type 10/10/2011 at 18:25
Bueno, como el tema está resuelto, lo marco como tal y lo cierro.
Gracias por usar WP Carousel.
This topic has been closed to new replies.