วิธีสร้างเทมเพลตหมวดหมู่ใน WordPress

คุณเคยเยี่ยมชมไซต์ที่แต่ละประเภทมีเลย์เอาต์ต่างกันหรือไม่? ในการพัฒนาชุดรูปแบบ WordPress มันเป็นเรื่องธรรมดาที่จะใช้เทมเพลตที่แตกต่างกันสำหรับหมวดหมู่แท็กประเภทโพสต์ที่กำหนดเองและ taxonomies โดยการสร้างเทมเพลตสำหรับหมวดหมู่คุณสามารถเพิ่มคุณสมบัติเฉพาะในหน้าหมวดหมู่ ตัวอย่างเช่นคุณสามารถอนุญาตให้ผู้ใช้สมัครสมาชิกหมวดหมู่เพิ่มภาพหมวดหมู่แสดงคำอธิบายหมวดหมู่และเลือกเค้าโครงที่แตกต่างกันสำหรับแต่ละหมวดหมู่ ในคู่มือนี้เราจะแสดงวิธีสร้างเทมเพลตหมวดหมู่ใน WordPress.


ลำดับชั้นของแม่แบบ WordPress สำหรับหน้าหมวดหมู่

WordPress มีระบบ templating ที่มีประสิทธิภาพ คุณสามารถสร้างธีม WordPress โดยใช้เทมเพลตที่แตกต่างกันสำหรับส่วนต่างๆของเว็บไซต์ของคุณ WordPress มองหาแม่แบบตามลำดับชั้นที่กำหนดไว้ล่วงหน้าเมื่อแสดงหน้าใด ๆ เพื่อแสดงหน้าหมวดหมู่มันจะมองหาแม่แบบในลำดับนี้.

หมวดหมู่-slug.php → category-id.php → category.php → archive.php → index.php

First WordPress จะมองหาเทมเพลตเฉพาะสำหรับหมวดหมู่นั้นโดยใช้กระสุนกระสุนหมวดหมู่เช่น template-design.php จะถูกใช้เพื่อแสดงหมวดหมู่ ‘Design’ หากไม่พบเทมเพลตบุ้งหมวดหมู่ WordPress จะค้นหาเทมเพลตที่มีรหัสหมวดหมู่เช่นหมวดหมู่ -6php หลังจากนั้นจะค้นหาเทมเพลตหมวดหมู่ทั่วไปซึ่งมักจะเป็น category.php หากไม่มีเทมเพลตหมวดหมู่ทั่วไปแสดงอยู่ WordPress จะค้นหาเทมเพลตการเก็บถาวรทั่วไปคือ IE. archive.php สุดท้ายจะใช้เทมเพลต index.php เพื่อแสดงหมวดหมู่.

สร้างเทมเพลตหมวดหมู่ใน WordPress

ก่อนอื่นให้ดูที่แม่แบบ category.php ทั่วไป.

<?PHP
/ **
* เทมเพลตหมวดหมู่อย่างง่าย
* /

get_header (); ?>

<?PHP
// ตรวจสอบว่ามีโพสต์ที่จะแสดงหรือไม่
หาก (have_posts ()): ?>

ประเภท: <?php single_cat_title (”, เท็จ); ?>

<?PHP
// แสดงคำอธิบายหมวดหมู่เพิ่มเติม
ถ้า (category_description ()): ?>
<?php echo category_description (); ?>
<?php endif; ?>

<?PHP

// The Loop
ในขณะที่ (have_posts ()): the_post (); ?>

" rel ="ที่คั่นหนังสือ" title ="ลิงก์ถาวรไปยัง <?php the_title_attribute (); ?>"><?php the_title (); ?>

<?php the_time (‘F jS, Y’) ?> โดย <?php the_author_posts_link () ?>

<?php the_content (); ?>

<?PHP
comments_popup_link (‘ยังไม่มีความคิดเห็น’, ‘1 ความคิดเห็น’, ‘% ความคิดเห็น’, ‘comments-link’, ‘ความคิดเห็นปิด’);
?>

<?php ในขณะนั้น

อื่น: ?>

ขออภัยไม่มีบทความที่ตรงกับเกณฑ์ของคุณ.

<?php endif; ?>

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

ตอนนี้สมมติว่าคุณมีหมวดหมู่ที่เรียกว่า “การออกแบบ” พร้อมกับหมวดหมู่ “การออกแบบบุ้ง” และคุณต้องการแสดงหมวดหมู่นี้แตกต่างจากประเภทอื่น ในการทำเช่นนั้นคุณจะต้องสร้างเทมเพลตสำหรับหมวดหมู่นั้น ๆ ไปที่ หน้าตา»บรรณาธิการ. จากรายการของไฟล์ชุดรูปแบบทางด้านขวาของคุณคลิกที่ category.php หากคุณไม่มีไฟล์ category.php อยู่ที่นั่นให้มองหา archive.php หากคุณไม่พบแม่แบบเหล่านี้อาจมีโอกาสดีที่คุณใช้ WordPress Theme Framework และบทช่วยสอนนี้อาจไม่มีประโยชน์สำหรับคุณ เราขอแนะนำให้คุณอ้างอิงถึงเฟรมเวิร์กเฉพาะที่คุณใช้.

หากคุณพบไฟล์ด้านบนให้คัดลอกเนื้อหาทั้งหมดของ category.php และวางไว้ในโปรแกรมแก้ไขข้อความเช่น Notepad บันทึกไฟล์นี้เป็น category-design.php.

เชื่อมต่อกับเว็บไซต์ของคุณโดยใช้ไคลเอนต์ 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
/ **
* เทมเพลตหมวดหมู่อย่างง่าย
* /

get_header (); ?>

<?PHP
// ตรวจสอบว่ามีโพสต์ที่จะแสดงหรือไม่
หาก (have_posts ()): ?>

<?PHP
// เนื่องจากเทมเพลตนี้จะใช้สำหรับหมวดหมู่การออกแบบเท่านั้น
// เราสามารถเพิ่มชื่อหมวดหมู่และคำอธิบายด้วยตนเอง.
// หรือเพิ่มรูปภาพหรือเปลี่ยนเค้าโครง
?>

บทความการออกแบบ

บทความและแบบฝึกหัดเกี่ยวกับการออกแบบและเว็บ.

<?PHP

// The Loop
ในขณะที่ (have_posts ()): the_post ();

" rel ="ที่คั่นหนังสือ" title ="ลิงก์ถาวรไปยัง <?php the_title_attribute (); ?>"><?php the_title (); ?>

<?php the_time (‘F jS, Y’) ?> โดย <?php the_author_posts_link () ?>

<?php the_excerpt (); ?>

<?PHP
comments_popup_link (‘ยังไม่มีความคิดเห็น’, ‘1 ความคิดเห็น’, ‘% ความคิดเห็น’, ‘comments-link’, ‘ความคิดเห็นปิด’);
?>

<?php ในขณะนั้น // End Loop

อื่น: ?>

ขออภัยไม่มีบทความที่ตรงกับเกณฑ์ของคุณ.

<?php endif; ?>

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

หากคุณไม่ต้องการใช้เทมเพลตบุ้งหมวดหมู่คุณสามารถใช้เทมเพลต Category-id เพื่อสร้างเทมเพลตสำหรับ ID หมวดหมู่เฉพาะ (วิธีค้นหา ID หมวดหมู่ใน WordPress).

ใช้แท็กเงื่อนไขสำหรับหมวดหมู่

เมื่อสร้างแม่แบบสำหรับธีมของคุณคุณต้องถามตัวเองว่าคุณต้องการแม่แบบแยกต่างหากเพื่อทำสิ่งที่คุณต้องการหรือไม่? ในบางกรณีการเปลี่ยนแปลงที่คุณต้องการไม่ซับซ้อนเกินไปและสามารถทำได้โดยใช้แท็กแบบมีเงื่อนไขภายในเทมเพลตทั่วไปเช่น category.php หรือแม้แต่ archive.php.

WordPress มาพร้อมกับการสนับสนุนแท็กแบบมีเงื่อนไขจำนวนมากที่ผู้สร้างธีมสามารถใช้ในเทมเพลตของพวกเขา หนึ่งแท็กที่มีเงื่อนไขดังกล่าวคือ is_category () ใช้แท็กเงื่อนไขนี้คุณสามารถเปลี่ยนแม่แบบของคุณเพื่อแสดงผลลัพธ์ที่แตกต่างกันหากเงื่อนไขตรง ตัวอย่างเช่นสมมติว่าคุณมีหมวดหมู่สำหรับโพสต์เด่นที่เรียกว่า “วิดีโอเด่น” ตอนนี้คุณต้องการแสดงข้อมูลพิเศษบางอย่างในหน้าเก็บถาวรหมวดหมู่สำหรับหมวดหมู่นี้โดยเฉพาะ เมื่อต้องการทำเช่นนั้นให้เพิ่มรหัสนี้ในไฟล์ category.php ทันที <?php if (have_posts ()): ?>.

<?php if (is_category (‘เด่น’)): ?>

บทความที่แนะนำ:

<?php อื่น: ?>

หมวดหมู่เอกสารเก่า: <?php single_cat_title (); ?>

<?php endif; ?>

การเรียนรู้การพัฒนาธีม WordPress ไม่ใช่สิ่งที่สามารถทำได้ข้ามคืน แต่คุณสามารถเริ่มเรียนรู้โดยปรับแต่งเทมเพลตของคุณและทำการเปลี่ยนแปลงเล็กน้อย มันเป็นความเสี่ยงและคุณจะทำลายสิ่งต่าง ๆ บ่อยครั้งกว่าที่คุณต้องการ แต่ความสุขของการได้รับมันอย่างถูกต้องจะทำให้คุณมีแรงบันดาลใจ.

เราหวังว่าบทความนี้จะช่วยคุณสร้างเทมเพลตหมวดหมู่ใน WordPress หากคุณมีคำถามใด ๆ เกี่ยวกับการแก้ไขแม่แบบหมวดหมู่ใน WordPress กรุณาแสดงความคิดเห็นด้านล่าง.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me