Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPB Kupası
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

WordPress’te Kategori Şablonları Nasıl Oluşturulur?

Editoryal Not: WPBeginner üzerindeki ortak bağlantılardan komisyon kazanıyoruz. Komisyonlar, editörlerimizin görüşlerini veya değerlendirmelerini etkilemez. Editoryal Süreç hakkında daha fazla bilgi edinin.

WordPress’te benzersiz kategori sayfası düzenleri mi oluşturmak istiyorsunuz?

WordPress web sitelerinde kategoriler, etiketler, özel yazı türleri ve taksonomiler için farklı şablonlar kullanmak yaygındır.

Bu makalede, WordPress’te kategori şablonlarının nasıl oluşturulacağını göstereceğiz.

Creating category templates in WordPress

WordPress’te Neden Kategori Şablonları Oluşturmalısınız?

WordPress tüm kategorileriniz için ayrı sayfalar oluşturur. Bunları aşağıdaki gibi bir URL’yi ziyaret ederek görüntüleyebilirsiniz:

https://example.com/category/news/

Çoğu popüler WordPress teması, kategori sayfalarını güzel bir şekilde sergilemek için yerleşik şablonlarla birlikte gelir. Bu şablonlar kategori başlığını vurgular ve altında kategori açıklamasını gösterir.

Category page example

Bununla birlikte, bazı temalar bunu bu kadar güzel bir şekilde ele almayabilir veya kategori sayfalarınızı özelleştirmek isteyebilirsiniz.

Kategoriler için şablonlar oluşturarak kategori sayfalarına belirli özellikler ekleyebilirsiniz.

Örneğin, kullanıcıların kategorilere abone olmalarına, kategori resimleri eklemelerine, kategori açıklamalarını göstermelerine ve her kategori için farklı bir düzen seçmelerine izin verebilirsiniz.

WordPress’te kategori şablonlarının nasıl oluşturulduğuna bir göz atalım. Eğitimimizin farklı bölümlerine atlamak için aşağıdaki hızlı bağlantıları kullanabilirsiniz:

Kategori Sayfaları için WordPress Şablon Hiyerarşisi

WordPress, web sitenizin farklı bölümleri için farklı şablonlar oluşturmanıza olanak tanıyan güçlü bir şablonlama sistemine sahiptir.

Herhangi bir sayfayı görüntülerken, WordPress önceden tanımlanmış bir hiyerarşik düzende bir şablon arar.

Bir kategori sayfasını görüntülemek için şablonları şu sırayla arar: category-slug.php → category-id.php → category.php → archive.php → index.php

İlk olarak, WordPress kategori slug’ını kullanarak söz konusu kategoriye özel bir şablon arayacaktır. Örneğin, category-design.php şablonu ‘Tasarım’ kategorisini görüntülemek için kullanılacaktır.

Eğer bir category-slug şablonu bulamazsa, WordPress category-6.php gibi kategori kimliği olan bir şablon arayacaktır. Bundan sonra, genellikle category.php olan genel kategori şablonunu arayacaktır.

Eğer genel bir kategori şablonu yoksa, WordPress archive.php gibi genel bir arşiv şablonu arayacaktır. Son olarak, kategoriyi görüntülemek için index.php şablonunu kullanacaktır.

İşte WordPress şablon hiyerarşileri kılavuzumuz.

WordPress category archive

WordPress’te Temanız için Kategori Şablonu Oluşturma

İlk olarak tipik bir category.php şablonuna göz atalım:

<?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(); ?>

Şimdi “Tasarım” adında bir kategoriniz olduğunu ve bu kategoriyi diğerlerinden farklı bir şekilde görüntülemek istediğinizi varsayalım.

Bunu yapmak için, söz konusu kategori için bir şablon oluşturmanız gerekir. Görünüm ” Tema Düzenleyici‘ye gidin.

Sağ tarafınızdaki tema dosyaları listesinden category.phpdosyasına tıklayın. category.php dosyanız yoksa archive.php dosyasına bakın.

Theme category file editor

Bu şablonlardan herhangi birini bulamıyorsanız, bir WordPress Tema Çerçevesi kullanıyor olma ihtimaliniz yüksektir ve bu eğitim sizin için yararlı olmayabilir. Kullandığınız özel çerçeveye başvurmanızı öneririz.

Yukarıdaki dosyaları bulursanız, category.php ‘nin tüm içeriğini kopyalayın ve Not Defteri gibi bir metin düzenleyicisine yapıştırın. Bu dosyayı category-design.php olarak kaydedin.

Daha sonra bir FTP istemcisi kullanarak WordPress hostinginize bağlanmanız ve ardından /wp-content/themes/your-current-theme/ adresine gidip category-design.php dosyanızı tema dizininize yüklemeniz gerekir.

Artık bu şablonda yaptığınız tüm değişiklikler yalnızca bu kategorinin arşiv sayfasında görünecektir.

Bu tekniği kullanarak istediğiniz kadar kategori için şablon oluşturabilirsiniz. Dosya adı olarak category-{category-slug}.php kullanmanız yeterlidir. WordPress yönetici alanındaki kategoriler bölümünü ziyaret ederek kategori slug’larını bulabilirsiniz.

İşte bir category-slug.php şablonu örneği. Birkaç değişiklikle category.php ile aynı şablonu kullandığımıza dikkat edin.

Kullanılacağı kategoriyi zaten bildiğimiz için başlık, açıklama veya diğer ayrıntıları manuel olarak ekleyebiliriz. Ayrıca <?php the_content(); ?> yerine <?php the_excerpt () ; ?> kullandığımıza dikkat edin.

<?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(); ?>

category-slug şablonunu kullanmak istemiyorsanız, belirli bir kategori kimliğine yönelik bir şablon oluşturmak için category-id şablonunu kullanabilirsiniz. WordPress’te bir kategori kimliğini nasıl bulacağınız aşağıda açıklanmıştır.

Kategori için Koşullu Etiketleri Kullanma

Temanız için şablon oluştururken, yapmak istediğiniz şeyi yapmak için gerçekten ayrı bir şablona ihtiyacınız olup olmadığını belirlemeniz gerekir.

Bazı durumlarda, yapmak istediğiniz değişiklikler çok karmaşık değildir ve category.php veya hatta archive.php gibi genel bir şablon içindeki koşullu etiketler kullanılarak gerçekleştirilebilir.

WordPress, tema yazarlarının şablonlarında kullanabileceği birçok koşullu etiket desteği ile birlikte gelir.

Koşullu etiketlere bir örnek is_category()‘dir. Bu koşullu etiketi kullanarak, koşul eşleştiğinde farklı çıktı görüntülemek için şablonlarınızı değiştirebilirsiniz.

Örneğin, öne çıkan gönderiler için “Öne Çıkanlar” adında bir kategoriniz olduğunu varsayalım.

Şimdi bu belirli kategori için kategori arşiv sayfasında bazı ekstra bilgiler göstermek istiyorsunuz. Bunu yapmak için, bu kodu category.php dosyasına <?php if ( have_posts() ) : ?>‘dan hemen sonra ekleyin.

<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>

Beaver Themer Kullanarak Kategori Şablonu Oluşturma

Beaver Themer, temanız için düzenler oluşturmanıza olanak tanır. Şablonu kullanmak istediğiniz kategorileri tek tek seçebilir ve ardından sürükle-bırak aracını kullanarak bunları düzenleyebilirsiniz.

İlk olarak, Beaver Builder ” Themer Layouts ” Add New sayfasına gitmeniz gerekir.

Add new category template

Bir başlık vermeniz gerekecek.

Ardından, ‘Konum’ seçeneği altından kategorinizi seçin.

Edit Beaver Themer layout

Buradan, kategori düzeni sayfanızı istediğiniz gibi özelleştirmek için Beaver Builder’ın sürükle ve bırak düzenleyicisini kullanabileceksiniz.

Beaver Themer, kategori düzeni sayfanızı tasarlamak için kullanabileceğiniz ve hareket ettirebileceğiniz çok sayıda modül sağlar.

Using Beaver Builder to design your category template

İşiniz bittiğinde, ‘Bitti’ düğmesine tıklayın ve ardından kategori şablonunuzu uygulamak için ‘Yayınla’yı seçin.

Artık kategori şablonunu çalışırken görmek için WordPress web sitenizi ziyaret edebilirsiniz.

A category template made with Beaver Builder

Umarız bu makale WordPress’te kategori şablonlarının nasıl oluşturulacağını öğrenmenize yardımcı olmuştur. Ayrıca, özel düzenler oluşturmak için en iyi sürükle ve bırak WordPress sayfa oluşturucuları karşılaştırmamızı ve kategorilere göre içeriği kısıtlayabilmeniz için bir üyelik sitesinin nasıl oluşturul acağına ilişkin kılavuzumuzu da görmek isteyebilirsiniz.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Açıklama: İçeriğimiz okuyucu desteklidir. Bu, bazı bağlantılarımıza tıklarsanız komisyon kazanabileceğimiz anlamına gelir. WPBeginner'ın nasıl finanse edildiğini, neden önemli olduğunu ve nasıl destek olabileceğinizi görün. İşte editoryal sürecimiz.

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

Ultimate WordPress Araç Kiti

Araç setimize ÜCRETSİZ erişim sağlayın - her profesyonelin sahip olması gereken WordPress ile ilgili ürün ve kaynaklardan oluşan bir koleksiyon!

Reader Interactions

58 yorumBir Cevap Bırakın

  1. Syed Balkhi says

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. Gwyneth Llewelyn says

    I just wanted to thank you — not only for the clarity of the explanations, but, most importantly, for restricting your code to the essential, while keeping all typical WordPress conventions (in terms of styling) as they were originally coded (even if they have, today, a ‘retro’ style of coding!).

    This simplifies, for beginners and forgetful experienced programmers alike, to fully integrate a category page on a theme that doesn’t support them; because even though every theme does it slightly differently, there is enough common ground for a simple template to do its job while delegating more complex functionalities to theme-specific functions. That is, at least, the case with well-written themes, of course.

    Thanks again!

  3. Muhammad Zeeshan says

    I want to create the same custom page for all categories but I don’t want to create it one by one. If I add a new category in the future, I want the same template for the new category as for the old one. How can I get this?

    • Alexandro Giles says

      You only need to create 1 category.php template, this category template will be used in any category archive that you create.

  4. Daniel says

    Hi – Its a very helpful tutorial but I am trying to show a specific category and its sub categories on a page – How do i do that ?

  5. Barbara says

    I’m putting my question here because it’s the closest topic to what I am looking for. My church is going to put out a newsletter using Constant Contact. Our current newsletter has both short items and longer articles. I want to use short excerpts of the longer articles in the newsletter with a link to the article online. To that end, I have created a category-newsletter and using a plugin Unique Headers have changed the header image. I want now to suppress the H1 in the header, but since the header is called from the post page, the only way I can think of to obtain the result that I want is to do a custom page/post in which I don’t call header.php but include the contents of header.php in my custom post page. I might even want to do a custom footer.

    How do I do that without causing an error?

  6. Steven Denger says

    This is a knowledgable tutorial for making templates – if you are an advanced user of code. This is what I see too much here- an explanation for the advanced users or developers but is of little to no value to beginners. I thought that this was WP BEGINNER – this is hardly a beginners tutorial and was of no help to me what-so-ever.

  7. Daniel says

    Hello, great tutorial. I really want to add a limit of 5 posts per page and have page numbering. Can someone help me with the code?

  8. Chris Smith says

    Thank you so much for writing this article – I was trying so hard to find where the categories were stored for my personal blog site. I had been through every php I could find and searched relentlessly for categories in my FTP/ control panel. Although the advice given here basically said it couldn’t help and i wouldn’t find it useful, it did encourage me to look at the content.php which was in the ‘framework’ directory of the theme. If anyone else is using the free version of the plum theme and wants to know how to do this in ftp, I hope this comment is useful!

  9. Richard Lowe says

    My theme came without a template for categories, tags, etc. So this article is perfect since I want them.

    Question: Would it be best to do this in a child theme so custom changes are not lost if and when the theme is updated?

  10. Borislav says

    For Custom Single Post page templates by category one could make a separated folder called “single” and then put inside all single templates like single-category-slug.php. + the general single.php. There was also necessary to add some code in functions.php. Can you do the same technique for Category page templates, like put all category-slug.php + the general category.php in a map called “category” ? I wonder that just to have a better file oragization istead of having all category-slug.php among all other theme php files like header.php footer.php index.php etc.

  11. rami mike says

    Thanks… that’s very useful. What if i want an archive page that display all the posts from 3 of my 5 categories….
    How can i do that ?

  12. Mark says

    Nice tutorial, I really appreciate the huge investment in wordpress tutorial and also in OptinMonster. But I will like to point out something in the tutorial: In the category template, you forget to echo the single_cat_title( ”, false );

    It should be:

    Category:

    Thanks

  13. Dan says

    When I use this template, I get the max set number of posts in the Dashboard, which is 10 posts only. When I select a category I want all of the posts for that category, not only the most recent 10. I tried adding query_posts(‘posts_per_page=50’); at the beginning of the Loop, but when I do that then posts from a different category are appearing in my selection. Any ideas?

  14. Dnil says

    Hi, I have category.php file on my theme. But whenever I view it, it shows only the title and a brief summary of the post. I want to have image of the post instead of text appear below the blog title. Please help me sir. I can’t find a better solution. I’m a newbie at wordpress :( Thank you

  15. Dnil says

    Hi,

    I’m getting real problem on how can I add “Image” in the category page instead of “text”? :( Please is anyone can help me here?

    Here’s my category.php


    Thanks in advance. Please email me on how to fix this stuff.

  16. SevenT says

    Thank you for this helpful post. But when i try a first one code. It make error.
    Parse error: syntax error, unexpected ‘<' in \category.php on line 22

    And the second one is same error on line 31

    What happen? I have checked it.

  17. Lisa says

    I am using Divi 2.1.4. I do not see any archive or category php. Can I use the index.php as the base and modify from there for a custom category page?

  18. JAspen says

    How would I have all my category page templates display on one page? I have 3 different category templates and look great on each single category page, but need them to display all together on one page.

  19. Bruce Bates says

    I solved my problem with your example code. You didn’t close the while loop on line 29 ?>

    29 while ( have_posts() ) : the_post();

  20. Bruce Bates says

    I am trying to create a theme (first time) and I am stuck on the category template. Have things changed as of wordpress 3.9? I literally copied and pasted the code you have here (removing the line numbers), saved the file, and tested it out and I get a fully blank page. Not even an opening html tag is happening when viewing outputted source.

  21. Deepa Govind says

    Hi,

    I am developing a child theme, and want to show a specific image alongside the category description — @ Category Archives page.

    ie, If category = Poetry, SHOW + description + post list
    if category = cooking, SHOW + description + post list
    if category = tutrial, SHOW + description + post list

    I know that we can put the IF-Condition in the category.php’s >> Archive header

    But, my list is pretty long — almost 20 categories
    and I donot want to clutter the actual category.php file

    Is it possible to write a custom function (in myfunc.php)
    and make a call at the category.php??

    Thank you

    • Deepa Govind says

      This is wierd, some of my text in the comment is missing
      so here it is again

      ie, If category = Poetry, SHOW QUILL IMAGE+ description + post list
      if category = cooking, SHOW CHEF IMAGE+ description + post list
      if category = tutrial, SHOW TEACHER IMAGE+ description + post list

  22. Lars says

    Hey! I have trouble with the theme I am developing. I want to show only one category pr. page, but when all posts for all categories shows up on all the pages. How can I show just one category pr. page without having to make a specific page for each page specifying the name of the category?

  23. Muhammed Ashique Kuthini says

    Can i get a function like showposts in this loop ? I am designer and recently came with development. I need to show the most recent post of the selected category in a different style.

  24. Cath says

    This seems straightforward but I’m having problems. I’m creating a child theme from a parent theme. The parent theme has an archive.php file only. In my child folder I want the archive.php for my Archives widget and for my Category widget, I want a category.php file. I’ve copied the archive.php code into a blank php file and saved it as category.php. The archive.php still defaults for both. Am I missing something? Thank you.

    • WPBeginner Support says

      Nope you are not missing anything. category.php should take over when ever a user is browsing a category page. This could happen for a number of reasons. For example WordPress may not be able to identify category.php file. Can you open category.php file in Appearance » Editor. Double check that you have not accidentally saved category.php as category.php.txt. Also check out our guide on creating child themes to make sure that you have created a child theme correctly.

      Yönetici

      • Cath says

        Hi. I am able to open category.php with the Appearance>Editor. Does the category.php file need to be added somewhere? Thank you.

        • Cath says

          Hi. I am able to open category.php with the Appearance>Editor. The file is saved in my child theme with the rest of my files that are working on my site. Do I need to add it to the functions.php file in order for WordPress to use category.php instead of archive.php?

  25. Lex says

    Thanks for your great article. Very helpful.

    I have a custom post type – ”video”, and a custom taxonomy – “video_categories” What would be the best way display them? I need a “home” for all videos, and a page that lists videos from a category.

    archive-videos.php – “home” listing page for all videos of all categories
    taxonomy-video_categories.php – a category listing page

    This is what I am thinking about. I feel there should be a better way. At the moment these two files have exactly the same code which is duplication.

    Thanks in advance for sharing your experience

  26. Amit Kumar says

    I liked the Idea of creating different designs for each category page. Can you please tell me how can I achieve a particular design for post under one specific category?

    For eg. All the post under category “Design” will have a particular design format and background etc.

    I would be glad to have any link which can provide any hint related to this.

  27. Mark Roth says

    I’ve been wanting to do this for quite a while. It’s not that I don’t know how to do it, it’s that I keep forgetting…and being distracted by more important projects. Your post is a great reminder…and will be a handy reference point. I’ve added it to my bookmarks. Thanks!

Bir Cevap Bırakın

Yorum bırakmayı seçtiğiniz için teşekkür ederiz. Lütfen tüm yorumların yorum poli̇ti̇kasi uyarınca denetlendiğini ve e-posta adresinizin yayımlanmayacağını unutmayın. Ad alanında anahtar kelime KULLANMAYIN. Kişisel ve anlamlı bir sohbet edelim.