เวิร์ดเพรสธีม บทที่ 5_4:Else, Post ID
Jan 28th
ในหัวข้อนี้เราจะมาศึกษาการใช้ Else, post ID, and link title ถึงแม้ว่าจะไม่ใช้ก็ได้ แต่ผมแนะนำให้ใช้
ขั้นตอนที่ 1:
พิมพ์โค้ดต่อไปนี้ไว้ใต้ <?php endwhile; ?>
<?php else : ?>
<div class=?post?>
<h2><?php _e(?Not Found?); ?></h2>
</div>
ดังภาพข้างล่างนี้ (โปรดสังเกตุการย่อหน้าเพื่อจัดระเบียบโค้ด)
save ไฟล์ดังกล่าว กดรีเฟรช คุณจะเห็นว่าไม่มีอะไรเปลี่ยนแปลงเลย ดังนั้นเรามาทบทวนเรื่องการวนลูป(บทที่ 5) กันอีกทีเพื่อให้คุณเข้าใจว่าที่พิมพ์ไปเมื่อกี้มันคืออะไร
ลูปที่เราใช้มีดังนี้
<?php if(have_posts()) : ?><?php while(have_posts()) : the_post(); ?>
<?php endwhile; ?>
<?php endif; ?>
เราใช้ if(have_posts()) เพื่อเช็คว่าในบล็อกของเรามีบทความอยู่หรือไม่ ถ้ามี คำสั่ง while(have_posts()) ซึ่งอยู่ระหว่าง if() และ else ก็จะวนลูปเรียกบทความมาแสดงด้วยคำสั่ง the_post() ดังนั้น คำสั่งต่าง ๆ ที่อยู่หลัง Else จะทำงานก็ต่อเมื่อไม่มีบทความในบล็อก
สิ่งที่เราจะสั่งให้เวิร์ดเพรสทำ เมื่อไม่มีหรือไม่เจอบทความในบล็อกก็คือ ให้แสดงข้อความ “Not Found” หรืออาจจะเป็นข้อความอื่นก็ได้ ซึ่งพิมพ์ไว้ในคำสั่ง <?php _e(? ?); ?>
นำแท็ก <h2> และ </h2> ครอบ <?php _e(? ?); ?> หรืออาจจะพิมพ์แค่นี้ก็ได้
<div class=?post?>
Not Found
</div>
ซึ่งก็แล้วแต่ความต้องการของแต่ละคน แต่การใช้แท็ก <h2> (หัวข้อย่อย) ครอบข้อความแจ้งเตือนความผิดพลาดไว้ จะช่วยให้ผู้เยี่ยมชมบล็อกของเราเห็นข้อความได้ชัดเจนว่าเกิดอะไรขึ้น
แล้ว <div class=?post?> และ </div> มีไว้ทำอะไร? คำตอบก็คือ เพื่อให้ข้อความแจ้งเตือนนั้น วางอยู่ในส่วนที่ต้องการ ซึ่งถ้าไม่นำแท็กนี้ครอบไว้ ข้อความแจ้งเตือนอาจจะไปกองอยู่ด้านใดด้านหนึ่งทำให้แลดูไม่สวยงาม เพราะข้อความแจ้งเตือนนี้ก็มีค่าเท่ากับเป็นบทความ ๆ หนึ่ง
ขั้นตอนที่ 2:
เพิ่ม id=?post-<?php the_ID(); ?>? เข้าไปไว้ใน <div class=?post?>
save ไฟล์ และ รีเฟรชเว็บเบราเซอร์ แล้วให้ไปที่ View > Page Source หรือ Source เพื่อดูโค้ด html จะเห็นว่าในแต่ละบทความจะมีหมายเลขบทความหรือไอดีปรากฏ คำสั่ง the_ID() ใช้เพื่อเรียกชื่อบทความหรือไอดีของแต่ละบทความมาแสดง
ต้องมีคนคิดในใจว่า “ใส่ไปเพื่อ?”- เพื่อการปรับแต่งการแสดงผลของบทความใดบทความหนึ่ง ดังที่ได้ศึกษาไปแล้วว่าเราใช้ style.css เพื่อควบคุมการแสดงผลของธีม ทำให้ทุกบทความที่มี class=?post? มีรูปแบบการแสดงผลเหมือนกันหมด ดังนั้นถ้าหากเราจะปรับแต่งการแสดงผลแค่บทความเดียวเราก็ต้องกำหนด id ที่ไม่ซ้ำกันในแต่ละบทความ
เราสามารถใช้ทั้ง class และ id ได้ในแท็ก DIV เดียวกันได้ เพราะแต่ละแท็กสามารถมีได้หลายแอทริบิวท์ class และ id ก็คือแอทริบิวท์ ดังนั้น ในหนึ่ง DIV จึงสามารถมีทั้ง class และ id ได้
ขั้นตอนที่ 3:
เพิ่ม title=?<?php the_title(); ?>? เข้าไปใน ลิงค์หัวข้อบทความ
save และ รีเฟรชเว็บเบราเซอร์ แล้ว view source ดูที่ลิงค์หัวข้อบทความ ถ้าหากข้อความของลิงค์เป็น Hello World ข้อความใน title ก็ควรจะเป็น Hello World เช่นกัน
title=?” เป็นแอทริบิวท์ของแท็ก <a> ใส่เพื่อเป็นการขยายความหรืออธิบายลิงค์นั้น ๆ ดังนั้นเราจึงใช้ฟังก์ชัน the_title() เพื่ออธิบายแต่ละลิงค์ ถ้าเราไม่ใช้ฟังก์ชัน the_title() แต่ใช้ข้อความใด ๆ แทน the_title() ทุกลิงค์บทความจะมีคำอธิบายลิงค์เหมือนกันหมด เช่น title=?Click me? ผลลัพธ์ที่ได้ก็คือ ทุกลิงค์หัวข้อบทความจะมีคำอธิบายเป็น Click me หมด
กลับไปที่เว็บเบราเซอร์ กดรีเฟรช แล้วนำเมาส์ไปวางไว้เหนือลิงค์หัวข้อบทความ คำอธิบายลิงค์จะปรากฏขึ้นมาให้เห็น การใส่คำอธิบายให้ลิงค์จะมีประโยชน์เมื่อเว็บอื่นมาแสกนบล็อกของเรา โดยส่วนมากมักจะเป็นเว็บ directory หรือ search engine เช่น แต่ละครั้งที่เราโพสบทความลงบล็อก เวิร์ดเพรสจะแจ้งให้ Technorati.com และเว็บอื่น ๆ ว่าบล็อกของเรามีการอัพเดท จากนั้น Technorati ก็จะมาแสกนบล็อกของเราแล้วทำดัชนีแต่ละบทความซึ่งคำอธิบายลิงค์ที่เราได้ใส่ไปนั้นก็เป็นส่วนหนึ่งของดัชนีด้วย
บทความละเอียดมากครับ
ขอบคุณจริงๆ :) ผมรู้เรื่องการสร้าง theme ก็เพราะ divland.com นี่แหละครับ
ขอบคุณค่ะ^^
เพิ่งเริ่ม ยังเขียนอะไรไม่ค่อยเป็น
ขอย้อนไปอ่านวันหลังๆก่อนนะคะ
ข้อมูลดีๆแบบนี้หามาบอกกันเรื่อยๆนะครับ
ข้อมูลมีประโยชน์มากครับ