05Oct 2010 13 Comments */?>

WordPress – Mostrar posts en página estática.

Categorías: Tutoriales - Tags:

Ando haciendo un experimento SEO con un blog llamado Baby Bath Stand en el cual necesito dejar un POST fijo como página principal y después ir mostrando el resto de posts abajo del mismo. O lo que sería lo mismo, crear una página estática y mostrar los post del blog en ella.

Ustedes se preguntaran con que motivo quiero hacer eso. Simplemente es porque en dicho postdicha página estática se encuentran los keywords que quiero hacer rankear en google, por lo que necesito que siempre aparezcan en el mismo lugar, y que el contenido que cambie ( o los post) no afecte esto.

Volviendo al tema original, para mostrar los posts de wordpress en una página estática tan solo debemos hacer lo siguiente:

  • Creamos la página estática que queremos que aparezca en el HOME
  • Vamos a Configuración -> Lectura en nuestro admin wordpress y elegimos mostrar una página estática como HOME .
  • Y por último editamos en nuestro template de wordpress la página page.php y hacemos los siguientes cambios:

Localizamos

1
2
 
<?php endwhile; ?>

Y a continuación agregamos lo siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php $temp_query = $wp_query; ?>
<?php query_posts('showposts=1'); ?>
 
<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
 
 
				<div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
					<h1 class="entry-title"><?php the_title(); ?></h1>
 
					<div class="entry-meta">
						<?php twentyten_posted_on(); ?>
					</div><!-- .entry-meta -->
 
					<div class="entry-content">
						<?php the_content(); ?>
						<?php wp_link_pages( array( 'before' => '<div class="page-link">' . __( 'Pages:', 'twentyten' ), 'after' => '</div>' ) ); ?>
					</div><!-- .entry-content -->
					</div><!-- #post-## -->
                    <div id="nav-above2" class="navigation">
					<div class="nav-previous"><?php previous_post_link( '%link', '<span class="meta-nav">' . _x( '&larr;', 'Previous post link', 'twentyten' ) . '</span> %title' ); ?></div>
					<div class="nav-next"><?php next_post_link( '%link', '%title <span class="meta-nav">' . _x( '&rarr;', 'Next post link', 'twentyten' ) . '</span>' ); ?></div>
				</div><!-- #nav-above -->
 
                    <?php  endwhile; ?>

Cambiando ‘showposts=1’ elegimos la cantidad de post a mostrar. En mi caso solo muestro 1 post por página.
También hay que tener en cuenta que yo estoy usando el theme original de wordpress llamado twentyten. Si estan usando otro theme y no estan seguros de que código tienen que pegar pueden verlo en el archivo single.php. Seguro que será muy parecido al que puse yo pero con los cambios típicos de cada theme.

Espero que les haya servido de ayuda, cualquier duda dejen comentario. Saludos!!!

Damián Logghe

Programador freelancer y emprendedor en sueños. Contento de ser mi jefe y poder hacer lo que me gusta. WordPress es mi principal fuente de ingreso y me escribo tanto para ayudar como para tener una guia de memoria. Quieres contratarme? Déjame un mensaje.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInGoogle Plus

  • Pingback: Bitacoras.com()

  • Chris

    Hola, no sé si he interpretado bien este artículo pero creo que los tiros van más o menos por donde yo quiero o intentaré ir.Me explico:
    Estoy haciendo mi web portfolio para implementarlo en wordpress como web no blog, en mi caso sin comentarios ni sidebar, de resto creo que si va incluido todo lo demás.

    En la página Home o Inicio en mi caso, tengo el resumen de lo que se puede encontrar en mi web más una ventanita dedicada a mostrar los dos últimos proyectos que he subido a la web(esto cuando la tenga, claro).
    Tiene su css etc y unos espacios en los que se mostrarán unas miniaturas de esos trabajos (2) que se hayan subido por última vez.

    Sería esto que cuentas lo que tendría que aplicar?
    Ahora me estoy comiendo la cabeza para intentar meter el menu (hecho con sprites) y se vea y como no, funcione…pero no me pilla el código…seguiré investigando.

    Un saludo.

    • Hola Chris, si podrías usar lo que yo he explicado para tu caso.

      Y si queres añadir código directamente podes al editar page.php usar

      if (is_page(\’Inicio\’){

      Tu código bla bla

      }

  • Hector Lopez

    hola como se llama el plugin donde dice webs interesantes

  • Oscar

    Hola, muy buen tuto, pero qué pasa si estoy usando el pagina.php para "contacto", "enalces", etc. osea que cómo modifico ese archivo para la nueva pagina que tendrá el loop? o cómo creo un nuevo archivo pagina1.php?

  • Pilar

    Hola, excelente tutorial! Necesesitaría saber si al lista de post, se le puede agregar, además de la fecha y el título el extracto o el contenido del post…

    Desde ya muchas gracias!

  • Coarroniz

    ¿Qué pasa si en en la edición de page.php no existe la linea de  //  en qué parte colocamos el codigo, en mi caso utilizo el tema blogolife y no esta esa linea.

  • Coarroniz

    ¿Qué pasa si en en la edición de page.php no existe la linea de  (php endwhile)   en qué parte colocamos el codigo, en mi caso utilizo el tema blogolife y no esta esa linea.

  • Hola! lo primero muchísimas gracias por el tutorial, tengo este mismo problema y llevo dándole vueltas un tiempo, y con la diferencia de que no soy un maquina en esto como tu.
    Ahora se me presenta la siguiente duda: uso un tema de pago Qlasick de Fusse. me gustaría saber donde coloco este código ya que quiero meter las noticias en mi portada ( no se si la portada es page, index, single… ya que todas mis paginas son estáticas y solo lo quiero en la de inicio y que soy un ignorante…) y como mencionas que en single aparece el código que tengo que poner…
    No se si me he explicado bien jeje
    Un saludo y muchas gracias de antemano 

  • Jordi

    una cosa, lo he probado y me desaparace la barra lateral … alguien sabe a que se debe… 🙁

  • Kevin

    Saludo, de que manera se puede hacer lo siguiente
    he creado mi propio tema html que lo integre a wordpress, pero en el html tengo dos div (dos cajas que deben mostrar dos cosas diferentes como FAQ en una y Privacy Policy en otra)

    de que manera puedo hacer que desde el backend puede modificar esas información de manera independiente

  • Arkangel R Carrasco H

    Hola amigo yo quiero hacer algo similar pero con un thema diferente. quiero mostrar 5 post y luego me mostrar 2 botones para q salga siguiente y anterior para q muestre otros 5 post bien sea los 5 anteriores o los 5 posteriores

    Gracias de antemano amigo espero me puedas ayudar!

  • Angel

    Hola, gracias por el tutorial. Como podría hacer para que en una sección o página estática me aparezcan solo las entradas de una categoría?