Colocar Post Recientes en el archivo 404.php

eswal200 Seguir

Préstamo
Zeta
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
5 Ago 2015
Mensajes
1.591
Hola gente estoy creando un theme para wordpress y quiero colocar en la pagina de error editando el archivo 404.php los 4 últimos post publicado.

encontré este codigo:

<?php wp_get_archives( array(
'type' => 'postbypost',
'limit' => 4,
'format' => 'custom',
'before' => '<span class="my-post-title">',
'after' => '</span>, ' ) ); ?>

pero solo me muestra los titulos, desea se puedan visualizar: Titulo, imagen, categoría

Si saben algún código y post donde expliquen algo parecido se los agradecería mucho :)
 

artiic97

No recomendado
Verificación en dos pasos desactivada
Desde
5 Oct 2018
Mensajes
121
Por favor, ten en cuenta 📝 que si deseas hacer un trato 🤝 con este usuario, está baneado 🔒.
Pudiste hacerlo?
 

Khano

Épsilon
No recomendado
Verificación en dos pasos activada
Desde
7 Abr 2019
Mensajes
794
Probá poniendo ésta función en tu archivo functions.php (wp-content/themes/<nombre_tema>/functions.php). Recordá hacer un backup antes por las dudas.. lo encontré revisando un poco

Insertar CODE, HTML o PHP:
[/I][INDENT]function getLatestPosts(){
 global $wpdb;
 $result = $wpdb->get_results(“select ID,post_title
 from `$wpdb->posts`
 where post_status = ‘publish’
 order by `post_date` desc
 limit 4”);
 foreach ($result as $topfive) {
 $postid = $topfive->ID;
 $posttitle = $topfive->post_title;
$thumbID = get_post_thumbnail_id($postid);
$imgDestacada = wp_get_attachment_url($thumbID);

if  ($posttitle != “”) { ?><li><img src="<?php echo $imgDestacada; ?>"><a href=”<?php echo  get_permalink($postid); ?>” title=”<?php echo $posttitle  ?>”><?php echo $posttitle ?></a></li><?php } }  ?>

<br>
 </div>
 <?php }

[/INDENT][I]

Y en 404.php

Insertar CODE, HTML o PHP:
<?php getLatestPosts(); ?>
 

eswal200

Préstamo
Zeta
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
5 Ago 2015
Mensajes
1.591
Gracias, [MENTION=204953]Khano[/MENTION] ya lo checo

- - - Actualizado - - -

Gracias a todo la solucion fue crear una funcion y un shorcode y todo quede de la siguiente manera, se los comparto por si a alguien le es de utilidad:

en el archivo functions.php

PHP:
function wp_chore_error() {
     $q = new WP_Query(
       array( 'orderby' => 'date', 'posts_per_page' => '4')
     );
    $list ="";
   while($q->have_posts()) : $q->the_post();
   echo '<div class="item">';
   $title=get_the_title();
   if ( has_post_thumbnail() ) {
   echo '<a class="single-image link-icon" href="' . get_permalink() . '">';
   $list .=the_post_thumbnail(array(300,200),array('alt' =>$title));    
   echo '</a>';
   }
  echo '<h6 class="title"><a href="' . get_permalink() . '"><span>'.$title.'</span></a></h6>';
  echo '<div class="entry-body">';
  
  echo '<a class="button default color" href="' . get_permalink() . '">Read More</a>';
  echo '</div>';

   echo '</div>';
  endwhile;

    wp_reset_query();

    return $list ;

    
}
add_action('wp_chore_error', 'add_post_page_error');

en el archivo 404.php

PHP:
<?php wp_chore_error(); ?>

de esa manera obtenemos los 4 ultimos post: imagen - titulo - leer mas
 

¡Regístrate y comienza a ganar!

Beneficios

  • Gana dinero por participar
  • Gana dinero por recomendarnos
  • Descubre ofertas de empleo diariamente
  • Negocios seguros
  • ¡Información premium y más!

Acceder

¿Ya tienes una cuenta? Accede aquí

Arriba