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

paginación mala (query_posts, page template, etc)

Estas en el tema de paginación mala (query_posts, page template, etc) en el foro de WordPress en Foros del Web. Hola, tengo en mi theme definido que la página inicial muestre una página estática. Digamos que esta página estática se llama "inicio" y la cargo ...
  #1 (permalink)  
Antiguo 03/02/2011, 12:54
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
paginación mala (query_posts, page template, etc)

Hola, tengo en mi theme definido que la página inicial muestre una página estática.
Digamos que esta página estática se llama "inicio" y la cargo con el template page-inicio.php

En ese archivo, page-inicio.php, tengo colocado el siguiente código:

Código PHP:
<?php
/**
 * The template for displaying all pages.
 *
 * This is the template that displays all pages by default.
 * Please note that this is the wordpress construct of pages
 * and that other 'pages' on your wordpress site will use a
 * different template.
 *
 * @package WordPress
 * @subpackage Starkers
 * @since Starkers 3.0
 */

get_header(); ?>

<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>

                    <?php if ( is_front_page() ) { ?>
                        <h2><?php the_title(); ?></h2>
                    <?php } else { ?>    
                        <h1><?php the_title(); ?></h1>
                    <?php ?>                

                        <?php the_content(); ?>
                        <?php wp_link_pages( array( 'before' => '' __'Pages:''twentyten' ), 'after' => '' ) ); ?>
                        <?php edit_post_link__'Edit''twentyten' ), '''' ); ?>

                <?php // comments_template( '', true ); ?>

<?php endwhile; ?>


<hr class="hr_sep" />
<!-- Inicio de POSTS -->
<?php query_posts('posts_per_page=5&cat=-4'); ?>

<h3 class="subtitulo">Entradas recientes</h3>
    <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
                
    <div class="post">
    <h3><a href="<?php the_permalink(); ?>" title="<?php printfesc_attr__'Enlace permanente a %s''twentyten' ), the_title_attribute'echo=0' ) ); ?>" rel="bookmark"><?php the_title(); ?></a></h3>
            
            
            <?php
            
if($post->post_excerpt) :
                
the_excerpt();
            else :
                
the_content("Continuar leyendo");
            endif
            
?>




            <div class="meta">
            <?php twentyten_posted_on(); ?>
            
                <?php if ( countget_the_category() ) ) : ?>
                    <?php printf__'en %2$s''twentyten' ), 'entry-utility-prep entry-utility-prep-cat-links'get_the_category_list', ' ) ); ?>
                <?php endif; ?>

                <?php if (comments_open()) :
                
comments_popup_link__'Dejar un comentario''twentyten' ), __'1 comentario''twentyten' ), __'% comentarios''twentyten' ) );
                endif; 
?>

                <?php edit_post_link__'(Editar)''twentyten' ), '''' ); ?>
             </div><!-- endof .meta -->

        <?php comments_template''true ); ?>
    </div><!-- endof .post -->
                

    <?php endwhile; ?>

    <div class="navigation">
      <div class="nav-alignleft"><?php next_posts_link('Entradas antiguas'?></div>
      <div class="nav-alignright"><?php previous_posts_link('Entradas recientes'?></div>
    </div>

    <?php endif; ?>
    <?php wp_reset_query(); ?>
<!-- Fin de POSTS -->


<?php get_footer(); ?>
El enlace de entradas recientes me lleva a http://localhost/page/2/, pero allí me sigue mostrando las entradas de la primer página. Y una vez en la segunda, mostrándome las entradas de la primera, el enlace sigue apuntando a la página 2!

Vi soluciones como la de metacortex, la del foro de wordpress (que es lo mismo que la de metacortex) y cientos de otros ejemplos similares o idénticos: ninguno funcionó.

Alguna idea? Me está volviendo loco
__________________
...___...
  #2 (permalink)  
Antiguo 03/02/2011, 13:50
Avatar de pao01
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 1.875
Antigüedad: 15 años, 10 meses
Puntos: 351
Respuesta: paginación mala (query_posts, page template, etc)

A mí me ha ocurrido eso con algún par de themes que no hubo forma.

Hoy día estoy laburando con un template que con tan sólo modificar desde el escritorio de wordpress que abra en una página estática y seleccionando desde cuál página abrir no he tenido problemas.

Si te sirve te dejo el template, no para que cambies el tuyo sino porque sencillamente en el código tal vez encuentres algo que pueda darte una pauta de cómo resolver el tema con tu plantilla.
__________________
Entre más estrecha la mente, más grande la boca.- Ted Cook
Autosconarte-Blog
  #3 (permalink)  
Antiguo 03/02/2011, 14:21
Avatar de Nekko
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Buenos Aires
Mensajes: 3.141
Antigüedad: 16 años, 1 mes
Puntos: 656
Respuesta: paginación mala (query_posts, page template, etc)

Modifiqué el query_posts para que funcione, reemplazá tu código con este pero fijate que en el template name le mandé cualquier verdura.

Código:
<?php 
/*
Template Name: Snarfer
*/
get_header(); 
?>
    
<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>

                    <?php if ( is_front_page() ) { ?>
                        <h2><?php the_title(); ?></h2>
                    <?php } else { ?>    
                        <h1><?php the_title(); ?></h1>
                    <?php } ?>                

                        <?php the_content(); ?>
                        <?php wp_link_pages( array( 'before' => '' . __( 'Pages:', 'twentyten' ), 'after' => '' ) ); ?>
                        <?php edit_post_link( __( 'Edit', 'twentyten' ), '', '' ); ?>

                <?php // comments_template( '', true ); ?>

<?php endwhile; ?>
<?php wp_reset_query(); ?>

<hr class="hr_sep" />
<!-- Inicio de POSTS -->
<h3 class="subtitulo">Entradas recientes</h3>
<?php 
			$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
			$args=array(
			   'showposts'=>5,
			   'paged'=>$paged,
			   'cat'=>-4
			   );
			query_posts($args);
		if ( have_posts() ) : while ( have_posts() ) : the_post();
?>


                
    <div class="post">
    <h3><a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Enlace permanente a %s', 'twentyten' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php the_title(); ?></a></h3>
            
            
            <?php
            if($post->post_excerpt) :
                the_excerpt();
            else :
                the_content("Continuar leyendo");
            endif
            ?>




            <div class="meta">
				<?php twentyten_posted_on(); ?>
            
                <?php if ( count( get_the_category() ) ) : ?>
                    <?php printf( __( 'en %2$s', 'twentyten' ), 'entry-utility-prep entry-utility-prep-cat-links', get_the_category_list( ', ' ) ); ?>
                <?php endif; ?>

                <?php if (comments_open()) :
                comments_popup_link( __( 'Dejar un comentario', 'twentyten' ), __( '1 comentario', 'twentyten' ), __( '% comentarios', 'twentyten' ) );
                endif; ?>

                <?php edit_post_link( __( '(Editar)', 'twentyten' ), '', '' ); ?>
             </div><!-- endof .meta -->

        <?php comments_template( '', true ); ?>
    </div><!-- endof .post -->
                

    <?php endwhile; ?>

    <div class="navigation">
      <div class="nav-alignleft"><?php next_posts_link('Entradas antiguas') ?></div>
      <div class="nav-alignright"><?php previous_posts_link('Entradas recientes') ?></div>
    </div>

    <?php endif; ?>
<!-- Fin de POSTS -->



<?php get_footer(); ?>
__________________
Taller para crear themes wordpress desde cero | Presupuestos para trabajos particulares vía MP
  #4 (permalink)  
Antiguo 04/02/2011, 07:44
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
Respuesta: paginación mala (query_posts, page template, etc)

Gracias chicas ;)

Nekko, no me funcionó. Hace exactamente lo mismo. Y agrego un dato: Tengo otra página estática, llamada Noticias, a la que le puse como plantilla PageSoloPost (que carga el archivo page-solopost.php) y allí funciona normalmente la paginación (se muestran sólo las entradas que estén dentro de la categoría noticias)

En cuanto llegue a la oficina preparo una muestra online para que vean.
__________________
...___...
  #5 (permalink)  
Antiguo 04/02/2011, 10:35
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
Respuesta: paginación mala (query_posts, page template, etc)

La página: eliminado (notar la puntuación, por favor)
La paginación de las entradas recientes de la home es el problema. Ingresando a la sección noticias (menú superior), todo anda bien.

En este momento tengo en funcionamiento el código que pegué en el priemr mensaje, pero como te dije, Nekko, tu aproach dio el mismo resultado.

Edito: Le saqué el header y el footer (éste contiene también a sidebar) para probar si algo interfería, y sigue igual.
__________________
...___...

Última edición por AlZuwaga; 09/02/2011 a las 09:54 Razón: eliminar la dirección
  #6 (permalink)  
Antiguo 04/02/2011, 12:37
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
Respuesta: paginación mala (query_posts, page template, etc)

También probé (en local) con Define Your Own WordPress Loop Using WP_Query (ver al final el Update: Using Pagination) y sigue igual
__________________
...___...
  #7 (permalink)  
Antiguo 06/02/2011, 14:28
Avatar de Nekko
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Buenos Aires
Mensajes: 3.141
Antigüedad: 16 años, 1 mes
Puntos: 656
Respuesta: paginación mala (query_posts, page template, etc)

Que frustrante... la verdad no se me ocurren muchas alternativas.

Probaste ponerle un <?php endif; ?> al primer loop?
__________________
Taller para crear themes wordpress desde cero | Presupuestos para trabajos particulares vía MP
  #8 (permalink)  
Antiguo 06/02/2011, 15:34
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
Respuesta: paginación mala (query_posts, page template, etc)

Demonios... no, pero por supuesto debería haber uno allí luego del endwhile.
Gracias Nekko, debe ser eso que no vi. Estoy seguro. Mañana lo pruebo y te comento.
__________________
...___...
  #9 (permalink)  
Antiguo 07/02/2011, 10:45
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
Respuesta: paginación mala (query_posts, page template, etc)

Pues no, tampoco :)

Igual ya no importa. Decidí que la página de inicio muestre los últimos 5 posts, sin navegación.
Y la sección antes llamada Noticias (donde sólo se veían los posts de dicha sección) ahora se llama Contenidos y allí se muestren, paginadas, todas las entradas.

Final infructuoso para este expediente X.
__________________
...___...
  #10 (permalink)  
Antiguo 04/03/2011, 15:13
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
Respuesta: paginación mala (query_posts, page template, etc)

OMFG!!! A esto le sobraba las letras d!!!

Cita:
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
Sin ellas pagina como debe
__________________
...___...

Etiquetas: page, template
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 00:26.