Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: Gogeto en 23 Octubre 2010, 22:29 pm



Título: Como mostrar los últimos post de una categoria en Wordpress dentro de una tabla
Publicado por: Gogeto en 23 Octubre 2010, 22:29 pm
Vale, esto antes era una peticion de ayuda con wordpress, pero aprendi a solucionar el tema.
Vamos al lio, si lo que quieres es representar en la página principal de tu blog tablas separadas con las listas de los últimos posts de una categoria de tu blog o solo una tabla, o loq que querais, este es el cógido:

Código:
<table>
 <tr>
  <th>Post</th>
  <th>Autor</th>
  <th>Antigüedad</th>
 </tr>
 <?php
 $lastposts = get_posts('numberposts=3&category_name=NOMBREDETUCATEGORIA');
 foreach($lastposts as $post) :
    setup_postdata($post);
    $age = time()-get_the_time('G');
 ?>
 <tr>
  <td><a href="<?php the_permalink(); ?>" id="post-<?php the_ID(); ?>"><?php the_title(); ?></a></td>
  <td><?php the_author() ?></td>
  <td>
   <?php if ($age < 84600) :?>
    <?php echo round(($age/60)/60); ?>
    Horas
   <?php else : ?>
     <?php if ($age < 2073600) : ?>
      <?php echo round((($age/60)/60)/24); ?>
      Días
     <?php else : ?>
      <?php if ($age < 64281600) :?>
       <?php echo round(((($age/60)/60)/24)/31); ?>
       Meses
      <?php else : ?>
       <?php echo round((((($age/60)/60)/24)/31)/12); ?>
      <?php endif; ?>
     <?php endif; ?>
    <?php endif; ?>
  </td>
 </tr>
 <?php endforeach; ?>
</table>

Según que tema useis, las tablas no se mostrarán. Eso teneis que solucionarlo en el archivo .css o insertando scripts en la cabecera de wordpress, no se muy bien como hacerlo bien, asique no me meto ahi.

Por cierto, lo que estas tablas hacen es mostrar SOLO el título del post en una celda, el autor en la siguiente, y el tiempo que hace que se posteo redondeado.
Si hace más de un dia, se ignoran las horas. Si hace más de un mes, se ignoran dias, si hace más de un año (no te pases sin postear un año en tu blog!) se ignoran los meses. Se hace redondeo, pero la verdad es que no importa mucho.