Home > Wordpress > เวิร์ดเพรสธีม บทที่ 5_4:Else, Post ID

เวิร์ดเพรสธีม บทที่ 5_4:Else, Post ID


ในหัวข้อนี้เราจะมาศึกษาการใช้ 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 ก็จะมาแสกนบล็อกของเราแล้วทำดัชนีแต่ละบทความซึ่งคำอธิบายลิงค์ที่เราได้ใส่ไปนั้นก็เป็นส่วนหนึ่งของดัชนีด้วย

Related Articles

  • Share/Bookmark
Categories: Wordpress
Tags:

About the author

Webmaster ของเว็บนี้และ www.toysmile.com กับ www.wondercutie.com ความสามารถ : web design, graphic design, CSS, PHP programming, wordpress, magento ตอนนี้กำลังสนใจ : การออกแบบ ตัวการ์ตูน คาแรคเตอร์ ^^

Website : http://www.divland.com

Facebook : http://www.facebook.com/divland

Twiter : http://twitter.com/divland


  1. February 15th, 2009 at 22:47 | #1

    บทความละเอียดมากครับ

    ขอบคุณจริงๆ :) ผมรู้เรื่องการสร้าง theme ก็เพราะ divland.com นี่แหละครับ

  2. zumo09
    March 22nd, 2009 at 16:28 | #2

    ขอบคุณค่ะ^^

    เพิ่งเริ่ม ยังเขียนอะไรไม่ค่อยเป็น

    ขอย้อนไปอ่านวันหลังๆก่อนนะคะ

  3. December 6th, 2009 at 17:35 | #3

    ข้อมูลดีๆแบบนี้หามาบอกกันเรื่อยๆนะครับ

  4. December 6th, 2009 at 17:36 | #4

    ข้อมูลมีประโยชน์มากครับ

  1. No trackbacks yet.