seo expertos

Como cambiar la forma de mostrar categorías en wordpress

Cambiar la forma en la que se muestran mis entradas en mi web, aveces nuestros temas o “themes” no permiten personalizar la manera en que se muestran las entradas en nuestra pagina wordpress, es por eso que vamos a señalar como se debe hacer un un archivo category.php el cual va mostrar nuestras entradas a nuestro gusto.

1.- Prmero debemos saber como se hace un child theme esto no es forzoso sin embargo se recomienda por cuestiones de seguridad a lo cual justo nos referimos a los updates, es por eso que siempre se recomienda un child theme para poder actualizar siempre y romper nuestros temas, dejamos la especificación de un tema hijo.

https://codex.wordpress.org/es:Temas_hijos

2.- Ahora pasamos a lo interesante después de tener nuestro tema hijo dentro de la carpeta  /tutema-child creamos un archivo llamado  category.php.

Vamos a explicar parte por parte:

Inicio de php y descripción simple de la plantilla y el get header para llamar el archivo header.php

<?php /** * Una Plantilla Para Categorias */ get_header(); ?>  

Ahora hacemos un reservado pare meter styles css

<style>
.barra {height:20px; width: 100%; background-color:#063569;}
</pre>
<pre></style> 

Abrimos la sección con id primary y clases site-content
primero el id content y role main recuerda que todo esto puede variar en cada theme, esta explicación es generalizda y funciona en divi theme de elegantheme.

 <section id="primary" class="site-content">
<div id="content" role="main">

Empezamos con la cabecera de nuestro layout o plantilla de php para mostrar categorías en nuestro sitio web wordpress, el single_cat_title en true muestra los titulos de tu categoría.

<?php 
// Check if there are any posts to display</pre>
<pre>if ( have_posts() ) : ?>

<header class="archive-header">
<h1 class="archive-title">Categoría: <?php single_cat_title( '', true ); ?></h1>

Comenzamos  a mostrar elementos de tu post con category_description y cerramos el header.

<?php
// Display optional category description
 if ( category_description() ) : ?>
<div class="archive-meta"><?php echo category_description(); ?></div>
<?php endif; ?>
</header>

Empezamos a correr nuestro loop donde se mostrara el contenido de cada entrada aquí puedes modificar o mostrar más elementos si lo deseas
https://codex.wordpress.org/es:Category_Templates.
the_permalink = link permamente de la entrada.
the_title_atributte = Atributos en los titulos.
the_title = el titulo.
the_excerpt  = Ojo el resumen de tu entrada o post “al momento de hacer una entrada siempre se pide un exatracto esto justo lo repetira aquí.
the_post_thumbnail =  imagen destacada de tu entrada.

<?php

// The Loop
while ( have_posts() ) : the_post(); ?>
<h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
<?php the_excerpt(); ?>
<small>letras pequeña</small>
<?php the_post_thumbnail( 'medium' ); ?>

Cerramos nuestro loop y llamamos al footer.php.

<?php endwhile;
else: ?>
<p>Sorry, no posts matched your criteria.</p>
<?php endif; ?>
</div>
</section>
<?php get_footer(); ?>

Ojo esto es opcional a veces nuestros temas por default muestran un cierto número de entradas sin embargo esto puede ser modificado para mostrar las que tu quieras aunque no todos los temas tienen esta opción en /ajustes puedes ir a /lectura y definir el número de entradas por página.
También se puede agregar un paginado de categorías en wordpress así:

<div class="pagination">
    <div class="mnuevos"><?php previous_posts_link( 'Lo Más Nuevo' );?></div>
    <div class="manteriores"><?php next_posts_link( 'Más Productos', $query->max_num_pages ); ?></div>
</div>

Y bueno para terminar aqui dejamos el codigo completo.

<?php
/**
* A Simple Category Template
*/

get_header(); ?>
<style>

.barra {height:20px; width: 100%; background-color:#063569;}


</style>

<section id="primary" class="site-content">
<div id="content" role="main">

<?php
// Check if there are any posts to display
if ( have_posts() ) : ?>

<header class="archive-header">
<h1 class="archive-title">Categoría: <?php single_cat_title( '', true ); ?></h1>


<?php
// Display optional category description
if ( category_description() ) : ?>
<div class="archive-meta"><?php echo category_description(); ?></div>
<?php endif; ?>
</header>

<?php

// The Loop
while ( have_posts() ) : the_post(); ?>
<h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
<?php the_excerpt(); ?>
<small>letras pequeñas</small>
<?php the_post_thumbnail( 'medium' ); ?>


<?php endwhile;
else: ?>
<p>Lo sientimos no hay entradas.</p>
<?php endif; ?>


</div>
</section>


<?php get_footer(); ?>

Saludos !!