เพิ่ม Sidebar ใน Theme | WordPress

ผมนั่งโม Theme WordPress แล้วเกิดปัญหาคือ อยากจะเอา Widget บางตัวไปไว้ที่อื่นที่ไม่ใช่  Sidebar ทางด้านขวา หลังจากหาข้อมูลอยู่นานก็พบวิธีการทำ จึงเขียนเพื่อกันลืมไว้และเป็นการบอกต่อท่านที่อยากทำด้วยครับ

วิธีเพิ่ม Sidebar ใน Theme

ขั้นตอนที่ 1 “function.php”

เปิด folder Theme ที่จะแก้ครับ แล้วเปิด file นี้ “function.php” ถ้าไม่มีก็สร้างเองเลยครับ
เปิดด้วย editer ที่คุณถนัดนะครับ แต่ผมชอบใช้ “Notepad++” เพราะฟรีและดี:)

ขั้นตอนที่ 2 Code

ใส่ Code ด้านล่างลงไปครับ

1
2
3
4
5
6
7
8
9
<?php
if ( function_exists('register_sidebar') )
register_sidebar(array(
'before_widget' => '',
'after_widget' => '',
'before_title' => '<h4>',
'after_title' => '</h4>',
));
?>

ใน Code นี้จะเป็นการเพิ่ม Sidebar จำนวนสอง Sidebar ถ้าจะเปลี่ยนชื่อให้เปลี่ยนที่ name ตรง ‘name’=>’sidebar1′ แต่ถ้าอยากได้แค่ Sidebar เดียวก็ลบ บรรทัดนี้ ออกไปครับ

1
2
3
4
5
6
register_sidebar(array('name'=&gt;'sidebar2',
'before_widget' =&gt; '',
'after_widget' =&gt; '',
'before_title' =&gt; '&lt;h4&gt;',
'after_title' =&gt; '&lt;/h4&gt;',
));

ขั้นตอนที่ 3 เอาไปใส่ใน Theme

เอาไปใส่ใน “index.php” หรือ Page ที่คุณต้องการ ใส่ในส่วนที่คุณต้องการเช่น

1
<div id="nameid">ใส่ที่ส่วนนี้</div>

ถ้าเปลี่ยนชื่อ Sidebar อย่าลืมแก้ใน Code ด้วย

Sidebar1 code นี้

1
2
3
4
5
<?php if ( !function_exists('dynamic_sidebar')
 
|| !dynamic_sidebar('sidebar1') ) : ?>
 
<?php endif; ?>

Sidebar2 code นี้

1
2
3
4
<?php if ( !function_exists('dynamic_sidebar')
|| !dynamic_sidebar('sidebar2') ) : ?>
 
<?php endif; ?>

Save แล้วไปดูที่ หน้าของ Widget จะพบว่ามี Sidebar เพิ่มขึ้นมาครับ

บทความต้นฉบับจาก quickonlinetips.com

เรื่องอื่นที่คล้ายกัน

About Arthit Somwatee

My name is Arthit ,I am Computer Scientist,I interest about Graphic Design ,Web Design,Programming,Web Standard,Opensouce,Freeware,CMS and SEO
This entry was posted in CMS, Howto and tagged , , , . Bookmark the permalink.
  • http://www.designil.com/ DesignIL

    เยี่ยมเลยครับ ถ้าเป็นไปได้ช่วยแปลโค้ดเป็นภาษาเขียนให้หน่อยได้มั้ยครับ ผมรู้สึกไม่ค่อยคุ้นกับ syntax ที่ใช้เท่าไร

    ขอบคุณมากคร้าบ

  • http://www.arthitst.com munkkron77

    ภาษาเขียนหมายถึงยังไงครับ ช่วยยกตัวอย่างหน่อยได้ไหม :)

  • http://www.designil.com/ DesignIL

    โค้ดอันนี้อะครับ หลักการทำงานมันเป็นยังไง

    ผมเข้าใจแค่ว่า ถ้า !function_exists(‘dynamic_sidebar’) หรือ !dynamic_sidebar(’sidebar2′) จะเกิดอะไรขึ้นสักอย่าง อยากทราบหน้าที่ของ “: ?” ในโค้ดน่ะครับ ว่าทำให้เกิดอะไรขึ้น

    แล้วก็ฟังกชั่น dynamic_sidebar(‘sidebar2′) เป็นฟังก์ชั่นไว้ทำอะไรครับ

    ขอบคุณมากครับ

  • http://www.arthitst.com munkkron77

    “: ?” < ---ตอนแรกผมก็คิดว่าเขาพิมพ์ผิดแต่พอลองแกะ Code Theme เดิมๆของมันก็เจอแบบนี้เหมือนกันครับ
    มันเขียนว่าแบบนี้ครับ(classic)
    if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar() ) : ?>
    ทำไมต้องเขียนแบบนี้ผมก็ไม่ทราบเหมือน

    ส่วน
    dynamic_sidebar(’sidebar2′) เป็นการเพิ่ม sidebar ไปอีก 1 อัน ถ้าเราต้องการแค่อันเดียวก็ไม่ต้องใส่ครับ ไม่ต้องใส่ชุดคำสั่งด้านล่างนี้นะครับ

    < ?php if ( !function_exists('dynamic_sidebar')

    || !dynamic_sidebar(’sidebar2′) ) : ?>

    < ?php endif; ?>

  • http://boardram.com บอร์ดรามคำแหง

    เยี่ยมเลยครับ ขอบคุณมากคร้าบ