Hur man skapar kategorimallar i WordPress

Hur man skapar kategorimallar i WordPress

Har du besökt en webbplats dÀr varje kategori har olika layout? I WordPress-temautveckling Àr det vanligt att anvÀnda olika mallar för kategorier, taggar, anpassade inlÀggstyper och taxonomier. Genom att skapa mallar för kategorier kan du lÀgga till specifika funktioner pÄ kategorisidor. Du kan till exempel tillÄta anvÀndare att prenumerera pÄ kategorier, lÀgga till kategoribilder, visa kategoribeskrivning och vÀlja en annan layout för varje kategori. I den hÀr guiden visar vi dig hur du skapar kategorimallar i WordPress.

WordPress-mallhierarki för kategorisidor

WordPress har ett kraftfullt mallsystem. Du kan skapa ett WordPress-tema genom att anvÀnda olika mallar för olika delar av din webbplats. WordPress letar efter en mall i en fördefinierad hierarkisk ordning nÀr nÄgon sida visas. För att visa en kategorisida letar den efter mallar i den hÀr ordningen.

category-slug.php → category-id.php → category.php → archive.php → index.php

Först kommer WordPress att leta efter en mall som Ă€r specifik för den specifika kategorin med hjĂ€lp av kategorisniggen, till exempel kommer kategori-design.php-mall att anvĂ€ndas för att visa kategorin “Design”. Om den inte hittar en kategorislugmall letar WordPress efter en mall med kategori-id, till exempel kategori-6.php. DĂ€refter kommer det att leta efter den generiska kategorimallen som vanligtvis Ă€r category.php. Om det inte finns nĂ„gon generisk kategorimall, letar WordPress efter generisk arkivmall, dvs archive.php. Slutligen kommer den att anvĂ€nda index.php-mall för att visa kategorin.

Skapa en kategorimall i WordPress

LÄt oss först titta pÄ en typisk category.php-mall.


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

get_header(); ?> 

<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">Category: <?php single_cat_title( '', false ); ?></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>
<small><?php the_time('F jS, Y') ?> by <?php the_author_posts_link() ?></small>

<div class="entry">
<?php the_content(); ?>

 <p class="postmetadata"><?php
  comments_popup_link( 'No comments yet', '1 comment', '% comments', 'comments-link', 'Comments closed');
?></p>
</div>

<?php endwhile; 

else: ?>
<p>Sorry, no posts matched your criteria.</p>


<?php endif; ?>
</div>
</section>


<?php get_sidebar(); ?>
<?php get_footer(); ?>

LĂ„t oss nu anta att du har en kategori som heter ”Design” med kategorisniggen ”design” och att du vill visa denna kategori annorlunda Ă€n andra. För att göra det mĂ„ste du skapa en mall för just den kategorin. GĂ„ till Utseende »Redaktör. FrĂ„n listan över temafiler till höger klickar du pĂ„ category.php, om du inte har en category.php-fil dĂ€r, leta sedan efter archive.php. Om du inte hittar nĂ„gon av dessa mallar Ă€r det stor chans att du anvĂ€nder ett WordPress Theme Framework och den hĂ€r guiden kanske inte Ă€r anvĂ€ndbar för dig. Vi föreslĂ„r att du hĂ€nvisar till det specifika ramverk du anvĂ€nder.

Om du hittar filerna ovan kopierar du allt innehÄll i category.php och klistrar in dem i en textredigerare som Anteckningar. Spara den hÀr filen som category-design.php.

Anslut till din webbplats med FTP-klient. GÄ till / wp-content / themes / your-current-theme / och ladda upp kategori-design.php-filen till din temakatalog. Nu kommer alla Àndringar du gör i den hÀr mallen endast att visas i den hÀr kategorins arkivsida. Med den hÀr tekniken kan du skapa mallar för sÄ mÄnga kategorier som du vill. AnvÀnd bara kategori- {category-slug} .php som filnamn. Du kan hitta kategorisniglar genom att besöka kategorisektionen i WordPress-administrationsomrÄdet.

HÀr Àr ett exempel pÄ en kategori-slug.php-mall, mÀrk att vi har anvÀnt samma mall som category.php med smÄ förÀndringar. Eftersom vi redan kÀnner till vilken kategori den kommer att anvÀndas för kan vi lÀgga till titel, beskrivning eller andra detaljer manuellt. LÀgg ocksÄ mÀrke till att vi har anvÀnt istÀllet för . Kolla in varför vi tycker att det Àr bra att anvÀnda inlÀggssammanfattning eller utdrag istÀllet för fullstÀndigt inlÀgg.


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

get_header(); ?> 

<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">
<?php
// Since this template will only be used for Design category
// we can add category title and description manually.
// or even add images or change the layout
?>

<h1 class="archive-title">Design Articles</h1>
<div class="archive-meta">
Articles and tutorials about design and the web.
</div>
</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>
<small><?php the_time('F jS, Y') ?> by <?php the_author_posts_link() ?></small>

<div class="entry">
<?php the_excerpt(); ?>

 <p class="postmetadata"><?php
  comments_popup_link( 'No comments yet', '1 comment', '% comments', 'comments-link', 'Comments closed');
?></p>
</div>

<?php endwhile; // End Loop

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

<?php get_sidebar(); ?>
<?php get_footer(); ?>

Om du inte vill anvÀnda mall för kategorikort, kan du anvÀnda kategori-ID-mall för att skapa en mall för ett specifikt kategori-ID (Hur man hittar ett kategori-ID i WordPress).

AnvÀnda villkorliga taggar för en kategori

NÀr du skapar mallar för ditt tema mÄste du frÄga dig sjÀlv. Behöver du verkligen en separat mall för att göra det du vill göra? I vissa fall Àr de Àndringar du vill göra inte för komplicerade och kan uppnÄs med villkorliga taggar i en generisk mall, som category.php eller till och med archive.php.

WordPress levereras med stöd för mĂ„nga villkorliga taggar som temaförfattare kan anvĂ€nda i sina mallar. En sĂ„dan villkorlig tagg Ă€r is_category (). Med den hĂ€r villkorliga taggen kan du Ă€ndra dina mallar sĂ„ att de visar olika utdata om villkoret matchas. LĂ„t oss till exempel anta att du har en kategori för utvalda inlĂ€gg som heter “Utvalda”. Nu vill du visa lite extra information pĂ„ kategoris arkivsida för just denna kategori. För att göra det, lĂ€gg till den hĂ€r koden i kategorin.php-filen direkt efter .



<header class="archive-header">

<?php if(is_category( 'Featured' )) : ?>
	<h1 class="archive-title">Featured Articles:</h1>
<?php  else: ?>
	<h1 class="archive-title">Category Archive: <?php single_cat_title(); ?> </h1>
<?php endif; ?>

</header>

Att lÀra sig WordPress-temautveckling Àr inte nÄgot som kan uppnÄs över natten. Men du kan börja lÀra dig genom att justera dina mallar och göra mindre Àndringar. Det Àr en risk, och du kommer att bryta saker oftare Àn du skulle vilja, men glÀdjen att Àntligen fÄ det rÀtt kommer att hÄlla dig motiverad.

Vi hoppas att den hÀr artikeln hjÀlpte dig att skapa kategorimallar i WordPress. Om du har nÄgra frÄgor om att Àndra kategorimallar i WordPress, vÀnligen lÀmna en kommentar nedan.