22 noviembre 2024

¿Por qué crear plantillas/ templates personalizados para páginas en un sitio WordPress?

wordpress

Cuando utilizamos WordPress como manejador de contenidos, puede suceder que la sección de entradas de tu blog, haya sido olvidada, dedicandole más tiempo a diseñar un sitio web utilizando todas las herramientas que ofrece esta plataforma tan potente. Pero si quieres listar las entradas o post , como un botón de Novedades en tu Menú, deberás crear los archivos necesarios para poder listarlos. ( también te puede servir para listar Categorías, etc)

Te recomiendo que copies el archivo  page.php y lo renombres como blog.php. Luego editaremos algunas características para poder utilizar este archivo como plantilla o template para tus entradas del blog.

1. En el nuevo archivo, deberás agregar las siguientes instrucciones en  php:

<?php
/*
Template Name: Mi plantilla de Noticias
*/
?>

2. Sube tu página al servidor

3 Luego deberás crear una página, por ejemplo llamada Novedades, y como ya habrás subido la plantilla, debe aparecerte el archivo recién creado en la sección Atributos de Página -> Plantillas

nodedades-custom

4. Deberemos regresar al archivo blog.php y en la parte del loop, tendremos que hacer los cambios para recuperar los post, custom post-types o entradas que querramos. En mi caso, utilizo un custom WP_Query , pues no se recomienda utilizar query_post para loops secundarios

<?php 

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;

$args = array('posts_per_page' => 100, 'paged' => $paged , 'post_type' => 'post', 'category_name' => 'novedades' );
$the_query = new WP_Query( $args ); ?>

Y luego en el loop, utilizo la referencia a este query, definido anteriormente:

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

<article>
<h2> <a href="<?php the_permalink(); ?>"> <?php the_title(); ?> </a> </h2>

</article>

<?php endwhile; else: ?>
<h1>No se encontraron novedades </h1>
<?php endif; ?>

// Reset Query  Libero el query
wp_reset_query();

Luego deberemos agregar un botón al menú, con el siguiente código y así directamente, listaremos las entradas de Novedades

<li>
<a href="http://misitioweb.ar/novedades/">
noticias</a>
</li>/code>

Acá les dejo un enlace, en donde explica porqué no utilizar query_post para loops secundarios

500px-avoid_query_posts

 

Siguenos por Twitter a través de @Geeksroom y no te pierdas todas las noticias, cursos gratuitos y demás artículos. También puedes seguirnos a través de nuestro canal de Youtube para ver nuestros vídeos, a través de Instagram para ver nuestras imágenes! O vía Bluesky si ya estás cansado de Twitter

Andrea Cummins

Andrea Cummins Es Senior Editor de GeeksRoom. Estudió Ciencias de la Computación en la facultad de Cs Exactas de la Universidad de Buenos Aires. Hace 23 años que vive en el campo, en la ciudad de Venado Tuerto, Santa Fe y gracias a Internet, pudo seguir actualizándose con las nuevas tecnologías. A medida que pasó el tiempo se fue capacitando de manera autodidacta y participando en Congresos y Cursos. Su empresa se llama VenadoSoft. Su hobbie es la fotografía y le encanta mostrar su ciudad y su gente a través de su lente.

Ver todas las entradas de Andrea Cummins →