ควรสร้างไฟล์ไหนบ้าง สำหรับ Custom Post Type และ Taxonomy ที่เราสร้าง?

หน้าแรก ฟอรั่ม ถามปัญหาการทำเว็บด้วยเวิร์ดเพรส ควรสร้างไฟล์ไหนบ้าง สำหรับ Custom Post Type และ Taxonomy ที่เราสร้าง?

ติดป้ายกำกับ: , ,

กำลังดู 0 ความเห็น
  • ผู้เขียน
    ข้อความ
    • #18538
      Facebook Profile photoMenn
      Keymaster

      มีคนถามมาหลังไมค์นะครับ อันนี้มีพื้นฐานทางโปรแกรมมิ่ง เลยขอตอบประเด็นหลักๆ นะครับ

      ผมอยากให้ page แสดง taxonomy ของ custom post type นั้นๆ เมื่อคลิกที่ taxonomy แต่ละอันก็จะเข้าไปแสดงสินค้าทั้งหมด แล้วคลิกที่สินค้า ก็จะแสดงแยกเป็นรายตัวไป

      ผมอยากสอบถาม concept การวางไฟล์ หรือ สร้างไฟล์ครับ ว่าควรจัดการไฟล์ยังไงครับผม

      1. สร้าง Custom Post Type: สมมติชื่อว่า Product นะครับ
      2. สร้าง Taxonomy: สมมติชื่อ Product Category กับ Brand นะครับ (จะได้ดูตามหมวดสินค้า กับแบรนด์ผู้ผลิตได้)
      3. สร้าง Page Template ที่แสดง taxonomy ที่ต้องการครับ

      ข้อ 1 และ 2 ใช้ปลั๊กอิน Custom Post Type UI จะสะดวกและประสิทธิภาพดีกว่า Toolset Types ครับ

      • แสดง product ทั้งหมด: ไฟล์ชื่อ archive-product.php
      • แสดงหน้ารายละเอียด product: ไฟล์ชื่อ single-product.php
      • แสดงสินค้าตามหมวด: ไฟล์ชื่อ taxonomy-product_category.php
      • แสดงสินค้าตามแบรนด์: ไฟล์ชื่อ taxonomy-brand.php

      ข้อ 3.  การจะพ่นค่าของ taxonomy ที่เราต้องการได้ ต้องใช้คำสั่ง get_terms() ครับ มันจะ return ค่าออกมาเป็น array ซึ่งถ้าอยากดูค่ามัน ก็ใช้คำสั่ง print_r() ดูได้

      ตัวอย่างโค้ดที่แสดง brand ทั้งหมดของสินค้านะครับ สั่ง get_terms() มา แล้วก็วนลูปพ่นค่าใน array ครับ ถ้าอยากสั่งเรียงลำดับ หรือดึงมาในเงื่อนไขต่างๆ ดูคู่มือที่ Code Reference: get_terms() นะครับ

      <?php
        $taxonomy = 'brand';
        $tax_terms = get_terms($taxonomy);
      ?>
      <ul>
      <?php
        foreach ($tax_terms as $tax_term) {
          echo '<li>' . '<a href="' . esc_attr(get_term_link($tax_term, $taxonomy)) . '">' . $tax_term->name . '</a></li>';
        }
      ?>
      </ul>

       

กำลังดู 0 ความเห็น

  • คุณต้องเข้าสู่ระบบเพื่อตอบกลับกระทู้นี้