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

cómo establecer una única categoría para la portada?

Estas en el tema de cómo establecer una única categoría para la portada? en el foro de WordPress en Foros del Web. Hola: Me gustaría que en la portada de mi blog por defecto sólo saliesen los posts de una categoría, para ver los del resto de ...
  #1 (permalink)  
Antiguo 20/11/2007, 07:53
 
Fecha de Ingreso: abril-2005
Mensajes: 50
Antigüedad: 19 años, 7 meses
Puntos: 1
cómo establecer una única categoría para la portada?

Hola:

Me gustaría que en la portada de mi blog por defecto sólo saliesen los posts de una categoría, para ver los del resto de categorías habría que entrar a través de los links de la barra lateral. Alguien sabe como se puede hacer esto?

Salud¡
  #2 (permalink)  
Antiguo 20/11/2007, 19:49
 
Fecha de Ingreso: abril-2005
Mensajes: 50
Antigüedad: 19 años, 7 meses
Puntos: 1
Re: cómo establecer una única categoría para la portada?

pues yo lo respondo, la solución está en los templtes tags y en modificar the loop en index.php:

Código PHP:
<?php if (have_posts()) : ?> 
        
        <?php while (have_posts()) : the_post(); ?>

                 <?php if ( in_category(1) ): ?> <-- Aquí selecciono la categoría que quiero ver -->
                
            <div class="post" id="post-<?php the_ID(); ?>">
                <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Ligaz&oacute;n Fixa a <?php the_title(); ?>"><?php the_title(); ?></a></h2>
                <small><?php the_time('F jS, Y'?> <!-- by <?php the_author() ?> --></small>
                
                <div class="entry">
                    <?php the_content('Ler o resto desta anotaci&oacute;n &raquo;'); ?>
                </div>
        
                <p class="postmetadata">Anotado en <?php the_category(', '?> | <?php edit_post_link('Editar'''' | '); ?>  <?php comments_popup_link('Sen Comentarios »''Un Comentario »''% Comentarios »'); ?></p>
            </div>
               <?php endif; ?>  <-- Aquí termina la selleción de la categoría -->
        <?php endwhile; ?>

        <div class="navigation">
            <div class="alignleft"><?php next_posts_link('&laquo; Anotaci&oacute;ns Anteriores'?></div>
            <div class="alignright"><?php previous_posts_link('Anotaci&oacute;ns Seguintes &raquo;'?></div>
        </div>
        
    <?php else : ?>

        <h2 class="center">Non se Atopou</h2>
        <p class="center">Sintoo, pero est&aacute; a buscar algo que non se atopa aqu&iacute;.</p>
        <?php include (TEMPLATEPATH "/searchform.php"); ?>

    <?php endif; ?>
Salud¡
  #3 (permalink)  
Antiguo 21/11/2007, 10:26
Avatar de j_aroche
Server Ninja
 
Fecha de Ingreso: agosto-2006
Ubicación: iPhone: 14.624481,-90.487457
Mensajes: 2.066
Antigüedad: 18 años, 3 meses
Puntos: 223
Re: cómo establecer una única categoría para la portada?

Lanas, el problema es que así no garantizas que salgan los X posts en la portada y además siempre estás haciendo un query para todas las categorías. Imagina que tus ultimos X posts son de una categoría diferente a la que estas filtrando, un día veras que no hay posts.

Lo mejor es que crees un pequeño plugin similar a:

Código:
<?php

/*

Plugin Name: Filtro de categorías

Description: Deja una sola categoría en la portada

Version: 0.0001

Author: Javier Aroche

Author URI: http://javieraroche.com/

*/

add_filter('pre_get_posts','filtro_portada');

function filtro_portada($query) {
	
	// dejar un la portada los posts de una sola categoría
if ($query->is_home) {
	$id = 1; // ID de la categoría a usar en portada
	$query->set('cat',$id);
}

return $query;
}
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 15:05.