คุณต้องการสร้างเค้าโครงหน้าหมวดหมู่ที่ไม่ซ้ำใครใน WordPress หรือไม่?
สำหรับเว็บไซต์ WordPress เป็นเรื่องปกติที่จะใช้เทมเพลตที่แตกต่างกันสำหรับหมวดหมู่ แท็ก ประเภทโพสต์ที่กำหนดเอง และการจัดหมวดหมู่
ในบทความนี้ เราจะแสดงวิธีสร้างเทมเพลตหมวดหมู่ใน WordPress
ด้วยการสร้างเทมเพลตสำหรับหมวดหมู่ คุณสามารถเพิ่มคุณสมบัติเฉพาะในหน้าหมวดหมู่ได้
ตัวอย่างเช่น คุณสามารถอนุญาตให้ผู้ใช้สมัครรับข้อมูลหมวดหมู่ เพิ่มรูปภาพหมวดหมู่ แสดงคำอธิบายหมวดหมู่ และเลือกเลย์เอาต์ที่แตกต่างกันสำหรับแต่ละหมวดหมู่
WordPress สร้างหน้าแต่ละหน้าสำหรับทุกหมวดหมู่ของคุณ คุณสามารถดูได้โดยไปที่ URL เช่น:
https://example.com/category/news/
ธีม WordPress ที่ได้รับความนิยมส่วนใหญ่มาพร้อมกับเทมเพลตในตัวเพื่อแสดงหน้าหมวดหมู่อย่างสวยงาม เทมเพลตเหล่านี้จะไฮไลต์ชื่อหมวดหมู่และแสดงคำอธิบายหมวดหมู่ด้านล่าง
อย่างไรก็ตาม ธีมบางธีมอาจจัดการได้ไม่ดีนัก หรือคุณอาจต้องการปรับแต่งหน้าหมวดหมู่ของคุณ นี่คือที่ที่คุณต้องสร้างเทมเพลตหมวดหมู่ใน WordPress
มาดูวิธีสร้างเทมเพลตหมวดหมู่ใน WordPress กัน
WordPress มีระบบเทมเพลตที่ทรงพลังที่ให้คุณสร้างเทมเพลตที่แตกต่างกันสำหรับส่วนต่าง ๆ ของเว็บไซต์ของคุณ
เมื่อแสดงหน้าใด ๆ WordPress จะค้นหาเทมเพลตตามลำดับชั้นที่กำหนดไว้ล่วงหน้า
หากต้องการแสดงหน้าหมวดหมู่ ให้ค้นหาเทมเพลตตามลำดับนี้: category-slug.php → category-id.php → category.php → archive.php → index.php
ขั้นแรก WordPress จะค้นหาเทมเพลตเฉพาะสำหรับหมวดหมู่นั้น ๆ โดยใช้ตัวบุ้งหมวดหมู่ ตัวอย่างเช่น เทมเพลต category-design.php จะถูกใช้เพื่อแสดงหมวดหมู่ 'การออกแบบ'
หากไม่พบเทมเพลต category-slug WordPress จะค้นหาเทมเพลตที่มีรหัสหมวดหมู่ เช่น category-6.php หลังจากนั้นจะมองหาเทมเพลตหมวดหมู่ทั่วไปซึ่งโดยปกติจะเป็น category.php
หากไม่มีเทมเพลตหมวดหมู่ทั่วไป WordPress จะค้นหาเทมเพลตไฟล์เก็บถาวรทั่วไป เช่น archive.php สุดท้ายจะใช้เทมเพลต index.php เพื่อแสดงหมวดหมู่
นี่คือคำแนะนำของเราเกี่ยวกับลำดับชั้นเทมเพลต WordPress
ขั้นแรกเรามาดูเทมเพลต category.php ทั่วไปกันก่อน
<?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() ?>
<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(); ?>
ตอนนี้ สมมติว่าคุณมีหมวดหมู่ที่เรียกว่า "การออกแบบ" โดยมีหมวดหมู่ "การออกแบบ" และคุณต้องการแสดงหมวดหมู่นี้แตกต่างจากหมวดหมู่อื่น
ในการทำเช่นนั้น คุณต้องสร้างเทมเพลตสำหรับหมวดหมู่นั้น ๆ ไปที่ ลักษณะที่ปรากฏ » ตัวแก้ไขธีม จากรายการไฟล์ธีมทางด้านขวาของคุณ ให้คลิกที่ category.php หากคุณไม่มีไฟล์ category.php อยู่ที่นั่น ให้มองหา archive.php
หากคุณไม่พบเทมเพลตเหล่านี้ มีโอกาสที่ดีที่คุณจะใช้ WordPress Theme Framework และบทช่วยสอนนี้อาจไม่มีประโยชน์สำหรับคุณ เราขอแนะนำให้คุณอ้างอิงถึงกรอบงานเฉพาะที่คุณใช้
หากคุณพบไฟล์ด้านบน ให้คัดลอกเนื้อหาทั้งหมดของ category.php แล้ววางลงในโปรแกรมแก้ไขข้อความ เช่น Notepad บันทึกไฟล์นี้เป็น category-design.php
เชื่อมต่อกับโฮสติ้ง WordPress ของคุณโดยใช้ไคลเอนต์ FTP จากนั้นไปที่ /wp-content/themes/your-current-theme/ และอัปโหลดไฟล์ category-design.php ไปยังไดเร็กทอรีธีมของคุณ
ขณะนี้ การเปลี่ยนแปลงใด ๆ ที่คุณทำกับเทมเพลตนี้จะปรากฏในหน้าเก็บถาวรของหมวดหมู่นี้เท่านั้น
เมื่อใช้เทคนิคนี้ คุณสามารถสร้างเทมเพลตสำหรับหมวดหมู่ได้มากเท่าที่คุณต้องการ เพียงใช้ category-{category-slug}.php เป็นชื่อไฟล์ คุณสามารถค้นหาทากหมวดหมู่ได้โดยไปที่ส่วนหมวดหมู่ในพื้นที่ผู้ดูแลระบบ WordPress
นี่คือตัวอย่างของเทมเพลต category-slug.php โปรดสังเกตว่าเราใช้เทมเพลตเดียวกันกับ category.php โดยมีการเปลี่ยนแปลงเล็กน้อย
เนื่องจากเราทราบหมวดหมู่ที่จะใช้แล้ว เราจึงสามารถเพิ่มชื่อ คำอธิบาย หรือรายละเอียดอื่น ๆ ได้ด้วยตนเอง โปรดสังเกตว่าเราใช้ <?php the_excerpt(); ?> แทน <?php the_content(); ?>.
ลองดูว่าทำไมเราถึงคิดว่าการใช้สรุปของโพสต์หรือข้อความที่ตัดตอนมาแทนโพสต์แบบเต็มจึงเป็นความคิดที่ดี
<?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() ?>
<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 คุณสามารถใช้เทมเพลต Category-ID เพื่อสร้างเทมเพลตสำหรับ ID หมวดหมู่เฉพาะได้ ต่อไปนี้เป็นวิธีค้นหารหัสหมวดหมู่ใน WordPress
เมื่อสร้างเทมเพลตสำหรับธีมของคุณ คุณต้องพิจารณาว่าคุณต้องการเทมเพลตแยกต่างหากเพื่อทำสิ่งที่คุณต้องการหรือไม่
ในบางกรณี การเปลี่ยนแปลงที่คุณต้องการทำนั้นไม่ซับซ้อนเกินไป และสามารถทำได้โดยใช้แท็กแบบมีเงื่อนไขภายในเทมเพลตทั่วไป เช่น category.php หรือแม้แต่ archive.php
WordPress มาพร้อมกับการรองรับแท็กแบบมีเงื่อนไขมากมายที่ผู้เขียนธีมสามารถใช้ในเทมเพลตของตนได้
แท็กเงื่อนไขหนึ่งแท็กคือ is_category() การใช้แท็กเงื่อนไขนี้ คุณสามารถเปลี่ยนเทมเพลตของคุณเพื่อแสดงเอาต์พุตที่แตกต่างกันได้หากตรงตามเงื่อนไข
ตัวอย่างเช่น สมมติว่าคุณมีหมวดหมู่สำหรับโพสต์เด่นที่เรียกว่า "แนะนำ"
ตอนนี้คุณต้องการแสดงข้อมูลเพิ่มเติมในหน้าเก็บหมวดหมู่สำหรับหมวดหมู่เฉพาะนี้ ในการทำเช่นนั้น ให้เพิ่มโค้ดนี้ในไฟล์ category.php ต่อจาก <?php if ( have_posts() ) : ?>
<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 Theme ช่วยให้คุณสร้างเลย์เอาต์สำหรับธีมของคุณได้ คุณสามารถเลือกแต่ละหมวดหมู่ที่คุณต้องการใช้เทมเพลต จากนั้นแก้ไขโดยใช้เครื่องมือลากและวาง
ขั้นแรก ไปที่หน้า Beaver Builder » เค้าโครงธีม » เพิ่มใหม่
คุณจะต้องตั้งชื่อแล้วเลือกหมวดหมู่ของคุณภายใต้ตัวเลือก "ตำแหน่ง"
จากนั้นคุณจะสามารถใช้ตัวแก้ไขการลากและวางของ Beaver Builder เพื่อปรับแต่งหน้าเค้าโครงหมวดหมู่ตามที่คุณต้องการ
เมื่อเสร็จแล้ว ให้คลิกปุ่มเสร็จสิ้น จากนั้นเลือกเผยแพร่เพื่อใช้เทมเพลตหมวดหมู่ของคุณ
ตอนนี้คุณสามารถเยี่ยมชมเว็บไซต์ของคุณเพื่อดูเทมเพลตหมวดหมู่ที่ใช้งานจริงได้แล้ว
เราหวังว่าบทความนี้จะช่วยให้คุณเรียนรู้วิธีสร้างเทมเพลตหมวดหมู่ใน WordPress คุณอาจต้องการดูการเปรียบเทียบเครื่องมือสร้างเพจ WordPress แบบลากและวางที่ดีที่สุดสำหรับการสร้างเลย์เอาต์แบบกำหนดเอง และคำแนะนำของเราเกี่ยวกับวิธีสร้างไซต์สมาชิก เพื่อให้คุณสามารถจำกัดเนื้อหาตามหมวดหมู่ได้
หากคุณชอบบทความนี้ โปรดสมัครรับวิดีโอบทช่วยสอนช่อง YouTube สำหรับ WordPress ของเรา คุณสามารถหาเราได้ทาง Twitter และ Facebook