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

Codigo para mostrar el primer post

Estas en el tema de Codigo para mostrar el primer post en el foro de WordPress en Foros del Web. El codigo que uso es: Código PHP: <div id="lastpost">      <?php  if ( have_posts ()) :  the_post ()  ?>                       <?php  if (( function_exists ( 'has_post_thumbnail' )) && ( has_post_thumbnail ...
  #1 (permalink)  
Antiguo 17/01/2012, 08:07
RGT
Usuario no validado
 
Fecha de Ingreso: noviembre-2008
Mensajes: 505
Antigüedad: 15 años, 4 meses
Puntos: 5
Codigo para mostrar el primer post

El codigo que uso es:

Código PHP:
<div id="lastpost">
    <?php if (have_posts()) : the_post() ?>            
        <?php if ((function_exists('has_post_thumbnail')) && (has_post_thumbnail())) : ?>
        <div class="image"><a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('medium'); ?></a></div>        
        <?php endif; ?>
        <div class="snippet">
            <h2 class="title"><a href="<?php the_permalink(); ?>" title="<?php the_title() ?>" rel="bookmark"><?php the_title(); ?></a></h2>                    
            <p class="meta"><?php the_time('F j, Y'); ?> - <?php comments_popup_link(__('No comments''rbq-domain'), __('1 Comment''rbq-domain'), __('% Comments''rbq-domain')); ?></p>
            <div class="excerpt"><?php the_excerpt(); ?></div>            
        </div>
    <?php endif; ?>                
</div>    
    
<div id="latestposts">
    <?php        
        $counter 
1;
        
$latestPosts = new WP_Query();
        
$latestPosts->query($query_string '&showposts=4&offset=1');                
        while (
$latestPosts->have_posts()) : $latestPosts->the_post();            
    
?>
    <div class="snippet<?php if ($counter == 0) echo ' last'?>">            
        <?php if ((function_exists('has_post_thumbnail')) && (has_post_thumbnail())) : ?>
        <div class="image"><a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('thumbnail'); ?></a></div>
        <?php endif; ?>                        
        <h3 class="title"><a href="<?php the_permalink() ?>" title="<?php the_title() ?>" rel="bookmark"><?php the_title() ?></a></h3>            
        <p class="meta"><?php the_time('F j, Y'); ?> - <?php comments_popup_link('Add Comment''1 Comment''% Comments'?></p>
        <div class="excerpt"><p><?php echo shortExcerpt(get_the_excerpt(), (int) get_option('of_excerpt_length')); ?></p></div>
    </div><!-- .snippet -->
    <?php $counter++; ?>
    <?php endwhile ?>
</div>
El blog es:
http://www.oyeeso.com/

Quiero mostrar el primer post con la imagen diferente para hacer el blog mas bonito y profesional, me gustaria añadirlo y color de fondo y eso.

Pero cuando lo puse, y le doi click en la pagina siguiente, sólo cambia el primer post, los otros de abajo nó cambian, alguien sabe qué debo poner en counter o explicarme como funciona eso?

Saludos!.
  #2 (permalink)  
Antiguo 18/01/2012, 07:01
Avatar de zanguanga
Moderadora
 
Fecha de Ingreso: julio-2009
Ubicación: España
Mensajes: 1.686
Antigüedad: 14 años, 9 meses
Puntos: 429
Respuesta: Codigo para mostrar el primer post

Una de hacer el primer post con estilo muy diferente al resto es crear una clase nueva para ello:

http://www.dynamicwp.net/articles-an...-the-homepage/

Para mostrar la primera imagen diferente en el loop de la plantilla donde quieras el nuevo diseño (home, index, categoría, etc) has de poner algo así:

Código:
 
<?php $count = 1; // Seteamos count a 1 para la primer entrada ?>
 
<?php while (have_posts()) : the_post(); ?>

 <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>> 

		<!--Aqui el codigo para mostrar los elementos que quieras de la primera entrada, puedes usar la clase creada para firstpost si es muy distinta al resto-->
 
<?php } else { // el resto de las entradas se mostraran como pongamos ahora ?>
 
		<!--Aqui el codigo para mostrar los elementos del resto de entradas-->

<?php } $count++; // Final de la funcion ?>


		<!--Aqui el codigo para mostrar los elementos comunes a todas las entradas-->
__________________
Mi blog personal | Mi G+
  #3 (permalink)  
Antiguo 18/01/2012, 09:40
RGT
Usuario no validado
 
Fecha de Ingreso: noviembre-2008
Mensajes: 505
Antigüedad: 15 años, 4 meses
Puntos: 5
Respuesta: Codigo para mostrar el primer post

Una pregunta,
este codigo:
Código PHP:
    <?php        
        $counter 
1;
        
$latestPosts = new WP_Query();
        
$latestPosts->query($query_string '&showposts=4&offset=1');                
        while (
$latestPosts->have_posts()) : $latestPosts->the_post();            
    
?>
Entonces está de más?, lo borro?
  #4 (permalink)  
Antiguo 18/01/2012, 13:19
RGT
Usuario no validado
 
Fecha de Ingreso: noviembre-2008
Mensajes: 505
Antigüedad: 15 años, 4 meses
Puntos: 5
Respuesta: Codigo para mostrar el primer post

No entiendo, trato de adaptarlo a mi theme pero no logro, podrias ayudarme?

El codigo que uso es este pero, no se como agregarle todo:

Código PHP:
<div id="latestposts">
    <?php while ( have_posts() ) : the_post(); ?>
    <div id="post-<?php the_ID(); ?>" class="snippet">
        <?php if ((function_exists('has_post_thumbnail')) && (has_post_thumbnail())) : ?>
        <div class="image"><a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('thumbnail'); ?></a></div>
        <?php endif; ?>                        
        <h3 class="title"><a href="<?php the_permalink() ?>" title="<?php the_title() ?>" rel="bookmark"><?php the_title() ?></a></h3>            
        <p class="meta"><?php the_category(', '); ?> - <?php the_time('j / F / Y'?> - <?php if(function_exists('the_views')) { the_views(); } ?></p>
        <div class="excerpt"><p><?php echo shortExcerpt(get_the_excerpt(), (int) get_option('of_excerpt_length')); ?></p></div>
    </div><!-- .snippet -->
    <?php endwhile; ?>
    <?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?> 
</div>

<?php get_sidebar() ?>

Última edición por RGT; 18/01/2012 a las 13:49
  #5 (permalink)  
Antiguo 18/01/2012, 15:53
Avatar de zanguanga
Moderadora
 
Fecha de Ingreso: julio-2009
Ubicación: España
Mensajes: 1.686
Antigüedad: 14 años, 9 meses
Puntos: 429
Respuesta: Codigo para mostrar el primer post

Cita:
No entiendo, trato de adaptarlo a mi theme pero no logro, podrias ayudarme?
Lo siento muchísimo pero te he traído un codigo que sirve para conseguir lo que quieres, ahora necesitarás poner de tu parte para probarlo y adaptarlo. Yo no dispongo de mucho tiempo para hacerlo por tí. No el tma que estás usando..
__________________
Mi blog personal | Mi G+
  #6 (permalink)  
Antiguo 18/01/2012, 18:39
RGT
Usuario no validado
 
Fecha de Ingreso: noviembre-2008
Mensajes: 505
Antigüedad: 15 años, 4 meses
Puntos: 5
Respuesta: Codigo para mostrar el primer post

Hola, yo te entiendo, pero te comento que yo no se nada de PHP u trate de poner mi codigo adentro del tuyo y no me funciona.

Solo me falta esto para terminar una web
pls =( ayudame
  #7 (permalink)  
Antiguo 18/01/2012, 21:39
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Codigo para mostrar el primer post

revisaste la función que te puso zanguanga?? vamos esto lo que hace es crearle a tu primer post una clase, queda de ti despues crear el estilo para la vista de este post, que es lo que no entiendes??
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #8 (permalink)  
Antiguo 18/01/2012, 22:20
RGT
Usuario no validado
 
Fecha de Ingreso: noviembre-2008
Mensajes: 505
Antigüedad: 15 años, 4 meses
Puntos: 5
Respuesta: Codigo para mostrar el primer post

Ese codigo me tira error al insertarlo en el dreamweaver, si modificarlo!.
  #9 (permalink)  
Antiguo 18/01/2012, 22:24
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Codigo para mostrar el primer post

el dreamweaver es un editor de texto, pruebalo en el navegador y nos indicas, siempre has tus pruebas en el navegador para ver cual es el posible error, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #10 (permalink)  
Antiguo 18/01/2012, 23:26
RGT
Usuario no validado
 
Fecha de Ingreso: noviembre-2008
Mensajes: 505
Antigüedad: 15 años, 4 meses
Puntos: 5
Respuesta: Codigo para mostrar el primer post

Cuando pruebo en el navegador nó salen post, sale en blanco!.

=( no tengo idea
  #11 (permalink)  
Antiguo 19/01/2012, 05:08
Avatar de Nekko
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Buenos Aires
Mensajes: 3.141
Antigüedad: 16 años
Puntos: 656
Respuesta: Codigo para mostrar el primer post

RGT, vuelvo a comentarte que tenés que intentar interpretar lo que estás colocando en tu theme. Copiar y pegar sin comprender no te sirve de nada.

Si querés código hecho a medida sin aprender por vos mismo, sentite libre de postearlo en la sección de empleo como oferta de trabajo.
__________________
Taller para crear themes wordpress desde cero | Presupuestos para trabajos particulares vía MP
  #12 (permalink)  
Antiguo 19/01/2012, 08:21
RGT
Usuario no validado
 
Fecha de Ingreso: noviembre-2008
Mensajes: 505
Antigüedad: 15 años, 4 meses
Puntos: 5
Respuesta: Codigo para mostrar el primer post

El codigo que muestra el titulo foto y eso, yo lo entiendo perfecto.
Lo que no se es jugar para mostrar el post 1, los post siguientes, trate la noche entera ayer y nada de nada
  #13 (permalink)  
Antiguo 19/01/2012, 08:32
Avatar de Nekko
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Buenos Aires
Mensajes: 3.141
Antigüedad: 16 años
Puntos: 656
Respuesta: Codigo para mostrar el primer post

Mostranos cómo lo estás haciendo, qué código terminás teniendo (incluida la adaptación del código que ya te dieron) y vamos viendo si podemos mostrarte en que líneas te equivocás.
__________________
Taller para crear themes wordpress desde cero | Presupuestos para trabajos particulares vía MP
  #14 (permalink)  
Antiguo 19/01/2012, 08:59
RGT
Usuario no validado
 
Fecha de Ingreso: noviembre-2008
Mensajes: 505
Antigüedad: 15 años, 4 meses
Puntos: 5
Respuesta: Codigo para mostrar el primer post

Código PHP:
<?php $count 1// Seteamos count a 1 para la primer entrada ?>
 
<?php while (have_posts()) : the_post(); ?>

 <div id="post-<?php the_ID(); ?><?php post_class(); ?>

        <?php if ((function_exists('has_post_thumbnail')) && (has_post_thumbnail())) : ?>
        <div class="image"><a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('medium'); ?></a></div>        
        <?php endif; ?>
        <div class="snippet">
            <h2 class="title"><a href="<?php the_permalink(); ?>" title="<?php the_title() ?>" rel="bookmark"><?php the_title(); ?></a></h2>                    
            <p class="meta"><?php the_time('F j, Y'); ?></p>
            <div class="excerpt"><?php the_excerpt(); ?></div>            
        </div>
 
<?php } else { // el resto de las entradas se mostraran como pongamos ahora ?>
 
        <?php if ((function_exists('has_post_thumbnail')) && (has_post_thumbnail())) : ?>
        <div class="image"><a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('thumbnail'); ?></a></div>        
        <?php endif; ?>
        <div class="snippet">
            <h2 class="title"><a href="<?php the_permalink(); ?>" title="<?php the_title() ?>" rel="bookmark"><?php the_title(); ?></a></h2>                    
            <p class="meta"><?php the_time('F j, Y'); ?></p>
            <div class="excerpt"><?php the_excerpt(); ?></div>            
        </div>

<?php $count++; // Final de la funcion ?>


        <!--Aqui el codigo para mostrar los elementos comunes a todas las entradas-->
Asi tengo el codigo!.
  #15 (permalink)  
Antiguo 19/01/2012, 10:17
Avatar de Nekko
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Buenos Aires
Mensajes: 3.141
Antigüedad: 16 años
Puntos: 656
Respuesta: Codigo para mostrar el primer post

Mmm en ningún lado le estás diciendo la condición que debe cumplirse para ejecutar un código u otro.

Vos le tenés que decir a tu bucle lo siguiente: "El contador está en 1. Entonces, si contador=1 mostrar este código, sumá 1 a contador..." Entonces en la siguiente pasada, contador vale 2, y ya la primer condición al ser falsa, pasa a mostrar lo que haya luego del else.

Después de la línea en donde está el while, te faltaría algo como:

Código PHP:
Ver original
  1. <?php if ($count == 1) { ?>

Y al final, en donde aumenta el contador, reemplazaría por esta línea.

Código PHP:
Ver original
  1. <?php } $count++; endwhile;  // Final de la funcion ?>
__________________
Taller para crear themes wordpress desde cero | Presupuestos para trabajos particulares vía MP

Última edición por Nekko; 19/01/2012 a las 12:43
  #16 (permalink)  
Antiguo 19/01/2012, 14:45
RGT
Usuario no validado
 
Fecha de Ingreso: noviembre-2008
Mensajes: 505
Antigüedad: 15 años, 4 meses
Puntos: 5
Respuesta: Codigo para mostrar el primer post

Hola, me funciona.

Aqui te pego el codigo para confirmar que sea correcto:
Código PHP:
    <?php $count 1// Seteamos count a 1 para la primer entrada ?> 

    <?php while ( have_posts() ) : the_post(); ?>
    
    <?php if ($count == 1) { ?>
    
    <div id="post-<?php the_ID(); ?>" class="snippet">
        <?php if ((function_exists('has_post_thumbnail')) && (has_post_thumbnail())) : ?>
        <div class="image"><a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('medium'); ?></a></div>
        <?php endif; ?>                        
        <h3 class="title"><a href="<?php the_permalink() ?>" title="<?php the_title() ?>" rel="bookmark"><?php the_title() ?></a></h3>            
        <p class="meta"><?php the_category(', '); ?> - <?php the_time('j / F / Y'?> - <fb:comments-count href=<?php the_permalink(); ?>></fb:comments-count> comentarios - <?php if(function_exists('the_views')) { the_views(); } ?></p>
        <div class="excerpt"><p><?php echo shortExcerpt(get_the_excerpt(), (int) get_option('of_excerpt_length')); ?></p></div>
    </div><!-- .snippet -->
    
    <?php } else { // el resto de las entradas se mostraran como pongamos ahora ?> 
    
    <div id="post-<?php the_ID(); ?>" class="snippet">
        <?php if ((function_exists('has_post_thumbnail')) && (has_post_thumbnail())) : ?>
        <div class="image"><a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('thumbnail'); ?></a></div>
        <?php endif; ?>                        
        <h3 class="title"><a href="<?php the_permalink() ?>" title="<?php the_title() ?>" rel="bookmark"><?php the_title() ?></a></h3>            
        <p class="meta"><?php the_category(', '); ?> - <?php the_time('j / F / Y'?> - <fb:comments-count href=<?php the_permalink(); ?>></fb:comments-count> comentarios - <?php if(function_exists('the_views')) { the_views(); } ?></p>
        <div class="excerpt"><p><?php echo shortExcerpt(get_the_excerpt(), (int) get_option('of_excerpt_length')); ?></p></div>
    </div><!-- .snippet -->
    
    <?php $count++; endwhile;  // Final de la funcion ?>
Las lineas como:
<div id="post-<?php the_ID(); ?>" class="snippet">

estan bien, es asi?

Gracias!.
  #17 (permalink)  
Antiguo 19/01/2012, 15:34
Avatar de Nekko
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Buenos Aires
Mensajes: 3.141
Antigüedad: 16 años
Puntos: 656
Respuesta: Codigo para mostrar el primer post

Eso depende del CSS del theme... el id y el class son valores para el estilo. Te conviene ir leyendo un poco sobre maquetación en general (html + css) y bajarte Firebug como para ir viendo como funcionan bien.
__________________
Taller para crear themes wordpress desde cero | Presupuestos para trabajos particulares vía MP

Etiquetas: blog, php, post, primer
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 18:11.