Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » WordPress »

[SOLUCIONADO] Ocultar categorias

Estas en el tema de Ocultar categorias en el foro de WordPress en Foros del Web. Hola, tengo una serie de entradas, cada una de ellas esta incluida en varias categorias. Una de estas categorias es "slider" para que se muestren ...
  #1 (permalink)  
Antiguo 01/09/2014, 22:41
 
Fecha de Ingreso: febrero-2013
Mensajes: 90
Antigüedad: 11 años, 9 meses
Puntos: 0
Ocultar categorias

Hola, tengo una serie de entradas, cada una de ellas esta incluida en varias categorias. Una de estas categorias es "slider" para que se muestren en un slider que tengo en la pagina principal.

Me gustaria que las entradas dejen de mostrar la categoria slider, pero que sigan mostrando las otras categorias a las cuales pertenecen.

Última edición por crafter_v; 02/09/2014 a las 00:02
  #2 (permalink)  
Antiguo 02/09/2014, 00:16
Avatar de ArturoGallegos
Moderador
 
Fecha de Ingreso: febrero-2008
Ubicación: Morelia, México
Mensajes: 6.774
Antigüedad: 16 años, 8 meses
Puntos: 1146
Respuesta: Ocultar categorias

modifica el loop y agrega el parámetro cat.

Este sirve para filtrar por categorías pero cuando agregas un signo negativo antes de la ID le indica que debe mostrar todo excepto esta categoría.
  #3 (permalink)  
Antiguo 02/09/2014, 00:55
 
Fecha de Ingreso: febrero-2013
Mensajes: 90
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Ocultar categorias

Estoy un poco perdido, se trata de esto?

Código:
<?php
$categories = get_the_category();
$separator = ' ';
$output = '';
if($categories){
	foreach($categories as $category) {
		$output .= '<a href="'.get_category_link( $category->term_id ).'" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $category->name ) ) . '">'.$category->cat_name.'</a>'.$separator;
	}
echo trim($output, $separator);
}
?>
  #4 (permalink)  
Antiguo 02/09/2014, 01:01
 
Fecha de Ingreso: febrero-2013
Mensajes: 90
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Ocultar categorias

Estoy buscando en google, pero no encuentro nada concreto que me sirva sobre el parametro cat.

Aparecen un monton de resultados sobre codigos y categorias en wordpress que nada tienen que ver unos con otros.

Si pudieras ser mas concreto en cuanto a lo que tengo que poner o acerca de donde encontrar información más exacta al respecto para conseguir el efecto deseado te lo agradeceria enormemente.

Gracias.
  #5 (permalink)  
Antiguo 02/09/2014, 03:57
Avatar de AlejandroGalvez  
Fecha de Ingreso: noviembre-2013
Mensajes: 189
Antigüedad: 11 años
Puntos: 49
Respuesta: Ocultar categorias

Lo que pides es un poco sucio y difícil de conseguir pues se trata de ocultar cierta información que muestra automáticamente WordPress al llamar a funciones como the_category(). Las categorías no fueron pensadas para un funcionamiento como el que describes. ¿Tal vez podrías utilizar tags con tu slider para conseguir exactamente lo mismo? Tampoco es lo más correcto pero te ayudaría. Te planteo dos soluciones:

Modificando el sistema para mejorarlo

Si tienes conocimientos básicos deberías modificar el sistema del slider para que recuperara entradas no por su categoría, sino por el valor de un post_meta específico. Es decir, imagina que en tus entradas puedas marcar un checkbox, una veleta, para indicar que esta noticia debe aparecer en el Slider. Esto se puede hacer y es realmente fácil con los Custom Fields: http://codex.wordpress.org/Custom_Fields

Una vez creado este simple sistema alterar el funcionamiento del Slider es tan fácil como buscar dónde crea la consulta que va a ejecutar. Seguramente mediante un objeto WP_Query: http://codex.wordpress.org/Class_Reference/WP_Query

Solo deberás eliminar la parte que filtre los resultados por categorías y añadir un filtro por post_meta: http://codex.wordpress.org/Class_Ref...eld_Parameters

Apañando lo que tienes

Si te da igual e insistes en ocultar la categoría Slider cuando se muestran las demás deberás asegurarte de hacerlo mediante get_the_category(): http://codex.wordpress.org/Function_...t_the_category

En el foreach haz un simple condicional para comprobar si se trata de tu categoría Slider y no lo muestres. El ejemplo del codex modificado:

Código PHP:
<?php

$categories 
get_the_category();
$separator ' ';
$output '';

if(
$categories){

    foreach(
$categories as $category) {
    
        if( 
$category->name != 'Slider' ) { //Si la categoría actual es Slider no se mostrará
        
            
$output .= '<a href="'.get_category_link$category->term_id ).'" title="' esc_attrsprintf__"View all posts in %s" ), $category->name ) ) . '">'.$category->cat_name.'</a>'.$separator;
        
        }
    
    }
    
    echo 
trim$output$separator );

}

?>
Ajusta este código a tus necesidades y remplaza lo que tenías para mostrar las categorías de un post con esto.
  #6 (permalink)  
Antiguo 02/09/2014, 05:36
 
Fecha de Ingreso: febrero-2013
Mensajes: 90
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Ocultar categorias

En realidad he aprendido a hacer el slider con las categorias, pero supongo que podria ponerlo incluso con la ruta directa a las imágenes que quiero mostrar, no importaria. Voy a investigar ese sistema que comentas, que parece interesante. Gracias!
  #7 (permalink)  
Antiguo 02/09/2014, 08:49
 
Fecha de Ingreso: febrero-2013
Mensajes: 90
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Ocultar categorias

Al final, de momento voy a utilizar la segunda opción que me distes. La página que estoy haciendo es un portfolio y necesito tenerla funcionando lo antes posible para enviarla.

Pero investigaré la otra posibilidad que parece más correcta.

Gracias por ambas respuestas!
  #8 (permalink)  
Antiguo 02/09/2014, 09:10
Avatar de ArturoGallegos
Moderador
 
Fecha de Ingreso: febrero-2008
Ubicación: Morelia, México
Mensajes: 6.774
Antigüedad: 16 años, 8 meses
Puntos: 1146
Respuesta: Ocultar categorias

Creo que fui bastante claro sobre que buscar
Cita:
modifica el loop y agrega el parámetro cat.
En ningún momento dije investiga el parámetro cat.... este parámetro puede ser o no usado para muchas cosas es mas facil buscar "wordpress loop" y hubieras obtenido resultados mas acertados.... ya que identificas el loop solo tienes que ver como se aplican argumentos a este para filtrar.... cosa que encontraras leyendo la documentación oficial.
http://codex.wordpress.org/


que viendo la respuesta del compañero ya te puso link a wp_query que es precisamente lo que se usa para modificar el loop

Y añadiendo una mejor opción a lo que te comento, yo te recomendaría si es posible crear un custom post type exclusivo para el slider...
  #9 (permalink)  
Antiguo 02/09/2014, 09:48
Avatar de AlejandroGalvez  
Fecha de Ingreso: noviembre-2013
Mensajes: 189
Antigüedad: 11 años
Puntos: 49
Respuesta: Ocultar categorias

Cita:
Iniciado por ArturoGallegos Ver Mensaje
Creo que fui bastante claro sobre que buscar


En ningún momento dije investiga el parámetro cat.... este parámetro puede ser o no usado para muchas cosas es mas facil buscar "wordpress loop" y hubieras obtenido resultados mas acertados.... ya que identificas el loop solo tienes que ver como se aplican argumentos a este para filtrar.... cosa que encontraras leyendo la documentación oficial.
http://codex.wordpress.org/


que viendo la respuesta del compañero ya te puso link a wp_query que es precisamente lo que se usa para modificar el loop

Y añadiendo una mejor opción a lo que te comento, yo te recomendaría si es posible crear un custom post type exclusivo para el slider...
Creo que es posible una ligera confusión. Él no quiere recuperar posts excluyendo la categoría Slider. El quiere que junto a la información de cada post (ya sea en single o donde fuere) aparezcan sus categorías pero se oculte la del Slider en caso de pertenecer a esta, ya que la utilizaba para un funcionamiento interno, no para categorizar propiamente dicho. Cito:

Cita:
Me gustaria que las entradas dejen de mostrar la categoria slider, pero que sigan mostrando las otras categorias a las cuales pertenecen.
En ese caso el loop, el objeto WP_Query y su parámetro cat no tienen mucho que ver o intervenir para con lo que él necesita. Es cierto que los Custom Post Type pueden ser una solución en caso de que desee entradas con un formato/imagen muy concretas para mostrar en un Slider. Pero si lo que desea son mostrar ciertas noticias elegidas por el editor, entonces lo ideal es utilizar Custom Fields.

Etiquetas: categorias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:12.