เวิร์ดเพรส (Wordpress)

ปรับปรุง : 2558-09-09 (เพิ่ม nginx)
Blog คือ สมุดบันทึกแบบเว็บไซต์ เพื่อบอกเล่าเรื่องราว หรือสิ่งที่เกิดขึ้นในชีวิตประจำวัน รวมถึงแสดงความคิดเห็น บทวิจารณ์ ข่าวสารบ้านเมือง สังคม ส่วนตัว หรืออื่น ๆ ที่เจ้าของให้ความสนใจ รวมถึงการเปิดให้ผู้เยี่ยมชม แสดงความคิดเห็นต่อหัวข้อต่าง ๆ
A blog is a discussion or informational site published on the World Wide Web and consisting of discrete entries (รายการที่ไม่ต่อเนื่อง) typically displayed in reverse chronological order (the most recent post appears first). #
ปีค.ศ.1997 (พ.ศ.2540) คำว่า Blog มาจากคำว่า Web Log เริ่มถูกใช้โดย Jorn Barger และถูกบันทึกใน Oxford English Dictionary ในปีค.ศ.2003 (พ.ศ.2546) ซึ่งเป็นรูปแบบหนึ่ง ของบริการในเว็บไซต์ที่กำลังได้รับความนิยม สำหรับนักคิด นักเขียนรุ่นใหม่

ตัวอย่างเว็บบล็อก
+ http://www.mynorthtrip.com
+ http://www.oknation.net/blog/suntawanyim
+ http://siamtips.blogspot.com
+ http://www.facebook.com/thaiall/notes
+ http://www.thaiall.com/pptx/promote_travel_by_blog.pptx
เวิร์ดเพรส (Wordpress) คืออะไร
คือ ชุดสคริปต์หรือเครื่องมือสำหรับเปิดบริการชุมชนบล็อก (Community Blog) หรือชุมชนนักเขียนบันทึก รองรับผู้ใช้ได้หลายคน สามารถแยกหัวเรื่องตามกลุ่ม (Categories) ตามแท็ก (Tag) ตามผู้เขียน (Author) เป็นระบบที่ได้รับความนิยมสูงสุด ซึ่งเวิร์ดเพรสเป็นเครื่องมือหนึ่งในการจัดการความรู้ระหว่างตัวคนกับชุมชน

เปรียบเทียบ CMS http://drupal.org
วิเคราะห์ CMShttp://wiki.nectec.or.th
ประสบการณ์กับ Wordpress
  1. สิ่งที่พบใน Dashboard
    ถ้าเข้าระบบในฐานะ admin จะพบตัวเลือกทางซ้าย 10 หัวข้อ ได้แก่ Posts, Media, Links, Pages, Comments, Appearance, Plugins, Users, Tools, Settings
  2. แก้ไข Default Theme
    เว็บเพจหน้าแรกของ Wordpress จะพบกลุ่มตัวเลือกทางขวาของ Default Theme ประกอบด้วย 5 กลุ่ม ได้แก่ Pages, Archives, Categories, Blogroll, Meta
    1) กลุ่ม Pages มีให้เจ้าของชุมชนสร้างเว็บเพจใหม่ผ่าน wordpress แต่สำหรับผมไม่ใช้บริการนี้ จึงลบ Page ที่ชื่อว่า About มีผลให้กลุ่มนี้หายไปไม่แสดงที่หน้าแรกอีก แต่ถ้าจะสร้างเพจเพิ่มก็สามารถทำได้ เช่น Contact หรือ Products เป็นต้น
    2) กลุ่ม Blogroll คือการรวม Links น่าจะเปลี่ยนชื่อจาก Blogroll เป็น Website Guides จะได้เข้าใจง่าย
  3. ติดอาวุธให้ Wordpress
    แก้ไขการแสดงผลให้เปิดแฟ้ม style.css, header.php และ footer.php ตัวอย่างเหตุผลที่ต้องแก้ไขแฟ้มดังกล่าว เช่น เพิ่ม Google Adsense, Truehits.net หรือปรับขนาด Header การแก้ไขสามารถทำผ่าน admin Dashboard, Appearance, Editor แล้วเลือกแก้ไขแฟ้มได้
  4. ประกาศ URL ให้โลกได้รับรู้
    แก้ไข Settings, Permalinks เพื่อให้เรียกชื่อ Author ผ่าน URL เช่น ครูสามารถบอก URL แก่นักเรียนในการเข้าถึง Blog ของครูโดยตรงได้ แต่ควรติดตั้ง Wordpress บน Apache เพราะใช้กับ IIS แล้วมีปัญหา โดยแก้ไขในช่อง Custom Structure เป็น /%author%/%post_id%/ แล้วใช้ editor แก้แฟ้ม Main Index Template (index.php) เพื่อเพิ่มชื่อผู้เขียนใน Blog เปลี่ยนจาก <?php the_time('F jS, Y') ?> <!-- by <?php the_author() ?> --> เป็น <?php the_time('F jS, Y') ?> by <a href=<?php the_author_login() ?>><?php the_author() ?></a>
    ? ถ้า Permalinks ไม่ทำงานบน Apache เป็นไปได้ว่า httpd.conf ไม่ได้ config ให้เปิด mod_rewrite ก็เพียงแต่เปิดแฟ้ม httpd.conf แล้วเอา # หน้าคำว่า mod_rewrite ออก แล้วก็สั่ง restart apache ด้วยการเข้า services.msc แล้ว restart apaceh2.2 .. ผมพบปัญหานี้ใน Appserv บางรุ่น
  5. แก้ไข Side Bar
    เมนูด้านขวาเรียกว่า Side Bar หากต้องการลบ หรือเพิ่ม Link ให้กับ Meta ให้เปิดแฟ้ม slidebar.php มาลบ link ออกได้เลย ถ้าแก้ผ่าน Dashboard ก็เลือก Appearance, Editor แล้วเลือกแฟ้มมาแก้ไข
  6. เปลี่ยนภาพ Background
    สำหรับภาพในส่วนของ Header สามารถหาภาพใหม่มาแทนภาพเดิมใน
    wp-content/themes/default/images/kubrickheader.jpg (760 * 200)
  7. กำหนด smtp ใหม่
    ในกรณีที่ web server ไม่ใช่ mail server และต้องการให้มีการติดต่อผ่าน e-mail ผ่านเครื่องบริการ จะต้องแก้ไข php.ini ให้ smtp ชี้ไปยัง mail server ที่ให้บริการ
  8. เปิด Port 80 และ 3306 ก็เพียงพอสำหรับ Wordpress
    เครื่องบริการ web server ถูก hack และ virus บ่อย ผมใช้ firewall ของ windows ที่มีอยู่แล้ว โดยเปิดให้เฉพาะ Port 80 ซึ่ง wordpress ก็ทำงานปกติ แต่ถ้าในเครื่องใช้ MySQL ก็ต้องเปิด Port 3306 ด้วย
  9. Plug In : การกรอง Spam
    ถ้ามีปัญหาค่อยเพิ่ม โดยเพิ่ม Plugin ชื่อ Akismet 2.2.3 มี 5 ขั้นตอนคือ 1) Activate Akismet ในเว็บเรา 2) ขอ API Key ใน wordpress.org จะส่งไปที่ e-mail 3) พบ Activate Code ใน E-mail ให้ Click เพื่อรับ E-mail ฉบับที่สอง ซึ่งมี API Key อยู่ 4) เข้า Dashboard, Plugins, Akismet Configuration กรอก API Key แล้วกด Update Options 5) พบตัวเลือก Dashboard, Akismet Stats สำหรับตรวจจำนวน Spam
  10. Plug In : Wordpress Stats
    ระบบสถิติการใช้บริการบล็อก ของ wordpress.org การใช้งานต้องใช้ API Key ที่ลงทะเบียนกับ wordpress.org ซึ่งฐานข้อมูลจะเก็บใน wordpress.org เป็นระบบที่ไม่เปิดเผยข้อมูลสถิติให้คนทั่วไป แต่เพิ่มผู้ใช้เข้าไปดูสถิติได้
  11. Plug In : Wordpress Page Numbers
    Page Numbers พัฒนาโดย jenst.se มี 4 ขั้นตอน ดังนี้ 1) Upload ทั้ง folder ของ Script ที่ download มาแล้ว เข้าไปในห้อง plugins 2) เข้าห้อง wp-content/ themes/ default/ เพื่อแก้แฟ้ม archive.php, index.php, search.php ในคำว่า next_posts_link() และ previous_posts_link() ให้เป็น <code> <?php if( function_exists('wp_page_numbers')) { wp_page_numbers(); } ?> </code> 3) แก้ไข Plugins เลือก Activate WP Page Numbers 4) เข้าตัวเลือก (Settings), Page Numbers 5) กรณีใช้ WP รุ่นใหม่ อาทิ 3.5.1 ก็จะหา previous_posts_link() ไม่พบ ก็แทรก <code> .. </code> เข้าไประหว่าง <!-- #content --> และ <!-- #primary --> ได้เลย
  12. Plug In : WP-DB-Backup
    การติดตั้งแบบคลิ๊กผ่านระบบ admin ของ wordpress : wp-admin, Plugins, Add New, "WP-DB-Backup" Search Plugins, WP-DB-Backup by Austin Matzko was founded, Install Now, goto Plugins, Activate, Tools, Backup
    download :: การติดตั้ง มี 3 ขั้นตอน ดังนี้ 1) คัดลอก folder : wp-db-backup ไปไว้ใน /wp-content/plugins/ 2) เปลี่ยนสิทธิ์ของ /wp-content ให้เป็นแบบเขียนได้ เพื่อสร้าง /wp-content/backup-* สำหรับเก็บข้อมูล 3) สั่ง Activate plugin ใน Admin -> Plugins -> Installed
    การสำรองข้อมูล
    1) Tools -> Backup จะมีให้เลือก 3 แบบ คือ
    1.1 Save to server ( ... )
    เลือก Exclude spam comments และ Exclude post revisions
    1.2 Download to your computer
    1.3 Email backup to: ...
    แล้วกด Backup Now!
    2) extract แฟ้ม .gz แล้วได้แฟ้ม .sql
    ภาษาที่ได้เป็น UTF8 ต้องใช้ Notepad++ เปลี่ยน encoding จึงจะอ่านออก
    3) เปิดด้วย word2003, conversion เป็น Unicode(UTF-8)
    4) save as .., Windows(Default)
    5) เมื่อเปิดด้วย editplus จะอ่านภาษาไทยออก
    6) สั่ง Replace url เมื่อย้ายข้อมูลไปวางใน server ใหม่
    เดิม http://www.yourwebsite.com/blog
    ใหม่ http://127.0.0.1/wordpress
    7) ลบข้อมูล wp_users และ wp_usermeta ที่สำรองมา เพราะของเดิมมีอยู่
    8) เมื่อ import ด้วย phpmyadmin ในเครื่องบริการใหม่ ให้กำหนด character set เป็น UTF8
  13. Plug In : WP-Avatar
    download | การติดตั้ง มี ขั้นตอน ดังนี้ 1) คัดลอก folder : wp-gravatar ไปไว้ใน /wp-content/plugins/ 2) สั่ง Activate plugin ใน Admin -> Plugins -> Installed 3) Admin -> Gravatar -> Author Profile Box
    3.1 Check: Place an about (the author box) ..
    3.2 Check: Place the about box before the post ..
    3.3 Check: Link to author archive
    3.4 แก้ไขข้อความใน Text ที่แสดงข้างภาพ
    3.5 แก้คำว่า Read more from this author เป็น มีอีก
    3.6 Check: Widgets, Use the Author Profile
    3.7 เปลี่ยน Page Link จาก about เป็น / เพื่อ link กลับหน้า blog
    4) Admin -> Appearance -> Widgets
    4.1 ย้าย tab Author Profile ไปไว้ใต้ Slidebar1 ทางขวา
    4.2 แก้ข้อความ Biographical Info จะเปลี่ยนข้อความข้างภาพ บนขวา
    5) แก้ไข gravatars_php.txt
    line: 950 $s.= "<a href='/author/";
    เป็น $s.= "<br><a href='/blog/";
    line: 951 $s.= $author;
    เป็น $s.= get_the_author_login();
    line: 953 $s.= $gravatar_author_archive_link;
    เป็น $s.= $author;
  14. เพิ่มชื่อผู้เขียน ตำแหน่งเว็บไซต์ และโปรไฟร์ ใต้ header
    แก้ไขแฟ้ม archive.php เพิ่มคำสั่งต่อไปนี้ใต้บรรทัดแรกนี้
    <div id="content" class="narrowcolumn" role="main">
    <?
    if(isset($_GET['author_name'])) :
    $curauth = get_userdatabylogin($author_name);
    else :
    $curauth = get_userdata(intval($author));
    endif;
    ?><table bgcolor="#dddddd"><tr><td><b>About:</b>
    <? echo $curauth->nickname; ?>
    <? if (strlen($curauth->user_url) > 8) { ?>
    <tr><td><b>About:</b> <? echo $curauth->display_name; ?><br />
    <b>Website:</b> <a href="<? echo $curauth->user_url; ?>">
    <? echo $curauth->user_url; ?></a><? } ?>
    <? if (strlen($curauth->user_description) > 5) { ?>
    <br><b>Profile:</b> <?php echo $curauth->user_description; ?>
    <? } ?></td></tr></table>

    รหัสชุดนี้ผมไม่ได้ใช้ เพราะใน thaiall.com/blog ส่วนใหญ่ผมเขียนคนเดียว
  15. เพิ่ม plug-in dm-albums ใน wordpress ซึ่งเป็นระบบ Photo Gallery ที่ขับเคลื่อนด้วย Flash แล้วไม่มี ลิงค์ให้เปิดภาพไปใช้ หรือ Save As จึงเปิด Script ชื่อ album.php มาแก้ไขบรรทัดประมาณ 693
    เดิม document.getElementById ...... ถึง anchor_close;
    ใหม่ เพิ่ม + "<hr><a target=_blank href='php/image.php?image=" + image + "&width=" + width + "'>open</a>"; ต่อจาก anchor_close
  16. ส่ง blog เข้าร่วมจัดอันดับในเว็บไซต์ต่าง ๆ
    ถ้าสนใจก็เข้าไปสมัครใช้บริการฟรี แล้วนำ code มาแปะใน footer.php
    + topblogarea.com
    + blogcounter.com
    + blogtoplist.com
    + blogrankings.com
    + truehits.net
    + stats.in.th
    ! topofblogs.com
  17. เติม google adsense ใน single page
    - เปลี่ยน widecolumn เป็น narrowcolumn
    - เพิ่ม code ก่อนเรียก get_footer() ในบรรทัดสุดท้าย
    เพิ่ม code ข้างล่างนี้
    <div id="sidebar" role="complementary">
    <ul><li id="text-4" class="widget widget_text">			
    <div class="textwidget"><script type="text/javascript"><!--
    ..
    ..
    adsense herer
    ..
    ..
    </script></div>
    </li></ul>
    </div>
  18. คำสำคัญ ที่กำหนดใน permalinks ส่วน tag base เป็น %3ftag%3d
    หรือ ?tag= นั้นใช้ไม่ได้ใน wp 3.0.2 (เดิมใช้ได้)
    อังกฤษเรียกได้ แต่ภาษาไทย พบ error แบบ Bad Request
  19. upload ไม่เข้า แจ้งว่า permission ของ directory มีปัญหา
    เหตุเกิดโดยไม่ทราบสาเหตุทั้งที่ปกติก็ใช้งานได้
    พบว่าค่าของตัวแปร Store uploads in this folder เปลี่ยนไป
    เมื่อแก้ค่าเป็น wp-content/uploads ก็ใช้งานได้ปกติ
    ! ได้ทดลองแก้ 777 ให้ห้อง /blog แต่เครื่องผม error 500 เลยครับ
  20. เปลี่ยน background โดยใช้ภาพที่สร้างขึ้น
    แก้ไข wp-content/themes/default/style.css
    เปลี่ยนชื่อภาพ และเพิ่ม fixed no-repeat ใน body tag
  21. ShareThis.com
    การใช้บริการ share button ของ sharethis.com ซึ่งใช้ login account ของ facebook.com เพื่อนำบริการไปฝังเข้า (embedded) blog ที่ใช้ wordpress script ซึ่งได้ code ของ sharethis ที่ได้มา ได้จากการคลิ๊ก other ShareThis Widgets, Website, Sharing buttons, Finish get the code, Multi Post
    ใน wordpress script
    - แก้ไข header.php
    - แก้ไข footer.php
ดาวน์โหลด (Download)
+ http://wordpress.org/download/
+ http://wordpress.org/extend/plugins/
+ http://wordpress.org/extend/themes/
+ view source รหัสต้นฉบับ และฟังก์ชัน
+ wordpress271.zip
+ wordpress292.zip
code ในห้อง template
- index.php คือ หน้าแรก
- single.php คือ หน้าเนื้อหาเดี่ยว
- search.php คือ หลังสืบค้น
- author.php คือ ตามชื่อผู้เขียน
- archive.php คือ ตามกลุ่มเรื่อง
- page.php คือ เลือกหน้า

การเชื่อมโยงของ เอกสาร ผู้ใช้ และกลุ่มเรื่อง

ทำความเข้าใจก่อนสำรองเวิร์ดเพรส (Before Backup)

1. สคริปต์โปรแกรม (Core Installation)
2. เพิ่มโปรแกรม (Plugins)
3. รูปแบบ (Themes)
4. ภาพและแฟ้ม (Images and Files)
5. ปรับแก้ไข (JS, PHP & others)
6. เว็บเพจที่เพิ่ม (Additional Files & Pages)
+ สำรองข้อมูล # | กู้ฐานข้อมูล
แหล่ง download free theme
+ wordpress.org
+ topwpthemes.com
+ freewpthemes.net

โฮสติ้งที่ยอมรับเวิร์ดเพรสอย่างเป็นทางการ

hypermart.net


godaddy.com


bluehost.com

คัดลอกฐานข้อมูลใน MySQL ไปติดตั้งในเครื่องอื่น
1. ใช้ phpmyadmin backup ข้อมูลจากเครื่องแม่
2. นำแฟ้ม .sql ไป restore ในเครื่องลูก
3. เปิดตาราง wp_options เพื่อแก้ค่า config
4. แก้ค่า siteurl, home, upload_path
เช่น wp-content/uploads
5. เปลี่ยนรหัสผ่านในตาราง wp_users
- click แก้ไข user ที่ต้องการ
- กำหนด Function=MD5 แล้วพิมพ์รหัสผ่านใน Value
6. user ใดไม่ใช้จากการคัดลอก DB ก็ควรลบ
topofblogs ปฏิเสธให้บริการ thaiall.com/blog

พบว่า topofblogs.com
ปฏิเสธ blog ของ thaiall.com
นี่คือภาพตัวอย่างที่ถูกแทนที่ mini banner
บล็อกจาก thaiall.com


Twenty Eleven Theme Options คำว่า theme คือชุดรูปแบบ ที่ทำให้เราเลือกรูปแบบ หรือเปลี่ยนชุดรูปแบบของเว็บไซต์ได้โดยง่าย ตัวอย่างนี้เป็น Theme ของ Wordpress ซึ่งเป็นระบบ Web log หรือ Blog สำหรับตัวอย่างเว็บไซต์ระดับประเทศที่ใช้งานระบบนี้คือ thumbsup.in.th แต่หน้าตาจะต่างกันไป เพราะพัฒนาต่อยอด เพิ่ม plug-in เพิ่มเนื้อหา โดยทีมงานขั้นหัวกระทิ ทำให้สามารถใช้เครื่องมือนี้ ต่อยอดความคิดให้เกิดพลังได้เป็นที่ประจักษ์ http://www.thaiall.com/wordpress http://www.facebook.com/photo.php?fbid=517378314942971&set=a.517378234942979.130082.506818005999002

Upgrade to new version
Wordpress มีการพัฒนาตั้ง core และ plug-in ตลอดเวลา และ upgrade ผ่านระบบ admin โดยง่าย ทำให้เชื่อมั่นได้ว่า script ที่เราใช้อยู่จะมีการพัฒนาอย่างต่อเนื่อง หาก webserver, interpreter หรือ database เปลี่ยน ก็ยังใช้งานได้อยู่ ปัจจุบันมี plug-in จำนวนมาก ที่สามารถนำมาใช้ได้ทันที และส่วนใหญ่ไม่มีค่าใช้จ่าย ตัวอย่าง theme ที่มีค่าใช้จ่ายคือ wp-clear ของ solostream.com มี demo ที่ http://wp-clear-new.solostreamsites.com/ + http://www.facebook.com/photo.php?fbid=517378264942976&set=a.517378234942979.130082.506818005999002
บล็อกจาก thaiall.com
การปรับโปรแกรม dm-albums ให้ใช้เป็น album ได้อย่างปลอดภัย
10 ก.ค.53 โปรแกรม dm-albums ซึ่งเป็น plugin ของ wordpress เป็นระบบ Album ที่ดี และช่วยในการทำ Album ตามชื่อ Folder ได้อัตโนมัติทันที โดยเรียกผ่าน URL แต่ความสามารถนี้เสมือนการ Hack เข้าไปในระบบที่ไม่มีการป้องกัน นอกจากจะเปิด Folder แล้วยังสร้างห้อง .cache สำหรับเก็บ Thumbnail และ สร้างแฟ้ม browse.cap สำหรับบันทึก Caption ของแต่ละภาพ
ในกรณีไม่ต้องการใช้ dm-albums กับ wordpress แต่ต้องการใช้เป็นระบบ Album กับชื่อ Folder โดยตรงสามารถปรับแก้ดังนี้
1. deactive plugin ใน wordpress
2. ลบห้อง .cache ใน folder ที่เคยเข้าไปทดสอบ (ถ้ามี)
3. ลบแฟ้มใน wp-content/plugins/dm-albums/ คือ screenshot-1.jpg - screenshot-8.jpg และลบแฟ้มที่ขึ้นต้นด้วย wp-dm-*
4. เปลี่ยนชื่อ folder ในห้อง dm-albums จาก flash เป็น _flash จาก preview เป็น _preview จาก slidesorter เป็น _slidesorter
5. เปิดแฟ้ม db-albums.php แล้วแก้ไขส่วนท้ายของโปรแกรม
โดยเติม if($LOCAL_DIR != "/../handbill/" && $LOCAL_DIR != "/../actress/") exit;
ก่อนบรรทัด require("php/photoalbum.php");
6. การเรียกใช้ dm-albums.php ถ้าเติม autoplay=true ใน url จะทำให้มีการเปิด Slideshow อัตโนมัติ
7. พบปัญหาเครื่องบริการเปลี่ยนการกำหนด directory ทำให้ต้องอ้างอิงแบบ relative
บรรทัดสำคัญที่ต้องแก้ไขในโปรแกรม dm-albums\php\photoalbum.php อยู่ในฟังก์ชัน getfiles()
if (!is_dir($dirname)) $dirname = str_replace('../../../../../','../../../../',$dirname);
เพราะฟังก์ชันเดียวกัน เรียกใช้ 2 ส่วนของเว็บเพจเดิม แต่เรียกจากต่าง directory
+ http://www.thaiall.com/handbill/ (frame)


upgrade wordpress เป็น 3.0
5 ก.ค.53 การ upgrade wordpress ของ aclalumni.com จาก 2.9 เป็น 3.0 จะมีการตรวจสอบรุ่นของ plugin และเปิดให้มีการ upgrade automatically ก่อนทำกับตัวหลัก ซึ่งการดำเนินการควรทำการ backup ข้อมูลใน mysql ทั้งหมดเก็บไว้ก่อน เผื่อพลาด .. เพราะอะไรอะไรก็ล้วนเป็นไปได้ทั้งสิ้น .. กันไว้ดีกว่าแก้ แย่แล้วจะแก้ไม่ทัน ..
แล้วผมก็ upgrade akismet ช่วยกรอง spam ใน comment เป็นรุ่น 2.3.0 พบว่าต้องใช้ API key ที่ลงทะเบียนจากผู้ให้บริการ มองหาให้ดีจะพบว่าใช้บริการฟรีแบบ non profit ได้ ลงทะเบียนใน akismet.com แล้ว เขาจะส่ง apikey มาให้ทางอีเมล โดยไม่ต้อง verify อีเมลด้วย gthaiall ครับ
ส่วนการ upgrade เป็น รุ่น 3.0 ซึ่งปรับจาก 2.9 เป็น 3.0 ผมทดสอบแล้วไม่พบปัญหาแต่อย่างใด เนื่องจากไม่มี plugin พิเศษ หากท่านใช้ plugin หลายตัวก็ต้องพิจารณาแต่ละตัวอย่างระมัดระวัง เพราะถ้ารุ่นเดิมดีอยู่แล้ว ผมก็ไม่แนะนำให้ upgrade ครับ


theme สวยมาก แต่มี license ของ solostream.com
6 มี.ค.53 วันนี้พบเว็บไซต์หนึ่งใช้ theme สวยมาก ชื่อ wp-clear บน wordpress.com พัฒนาโดย Solostream มีรายละเอียดใน solostream.com ส่วนเว็บบอร์ดของไทยที่ให้ข้อมูลเรื่องนี้พบใน thaiseoboard.com ส่วนเว็บไซต์ของไทยที่ใช้ theme นี้ได้อย่างลงตัว คือ startupthailand.com ตอนแรกก็คิดจะ download มาทดสอบติดตั้งในเครื่องที่บ้านและเผยแพร่ต่อไป แต่เข้าไปอ่านรายละเอียดก็พบว่ามี license คือ The SOFTWARE is protected by copyright laws and international treaty provisions. จึงไม่ดำเนินการอะไรต่อครับ พบว่าราคามี 3 แบบคือ แบบใช้เว็บไซต์เดียวราคาราว 2,400 บาท แบบหลายเว็บไซต์ราคาราว 5,400 บาท แบบสำหรับผู้พัฒนาที่ไปขายให้ลูกค้าอีกต่อได้ราคาราว 8,400 บาท ถ้าผมจะหา free theme ที่นำมาใช้และไม่ผิดกฎหมายคงต้องกลับไปหาใน wordpress.org ใช้เวลาสักพักก็พบว่า themes ชื่อ news-magazine-theme-640 เป็นอะไรที่น่าสนใจมากครับ
มีผู้รู้แนะว่าถ้าใช้งาน wp-clear ต้องดำเนินการดังนี้ 1) สร้าง category ชื่อ featured แล้ว Featured Articles จะทำงานทันที 2) ติดตั้ง Regenerate-thumbnails ทำให้ภาพทั้งหมดมี thumbnail แบบ 150 และ 300 3) เมื่อ post ให้กำหนด custom field สำหรับ name = post_thumbnail และ value = /blog/wp-content/uploads/2010/03/me-150x150.jpg จึงจะแสดงภาพที่ต้องการ

+ http://wordpress.org/extend/themes/news-magazine-theme-640
+ http://www.thaiseoboard.com/index.php?topic=100797.msg1329038;topicseen
+ http://www.solostream.com/wordpress-themes/wordpress-theme-wp-clear-10/
+ http://wordpress.org/extend/themes/


แก้ top menu ของ wordpress
22 ก.ย.53 มีเหตุต้องแก้เมนูด้านบนของ word press ใน wp-clear theme จากการแกะโค้ดตามหา Top menu พบว่า ถ้าแก้แบบเพิ่มลิงค์หัวท้ายของเมนู สามารถเข้าไปแก้แฟ้ม wp-content/themes/wp-clear/header.php ได้ไม่ยาก หาคำว่า id="topnav" ก็จะมีให้แก้แบบ html แต่ถ้าในรายการของ Categories และต้องการเปลี่ยนลิงค์เฉพาะบาง item ต้องเข้าไปใน wp-includes/classes.php พบฟังก์ชัน start_el แล้วแก้ไขบรรทัดที่มี tag ว่า cat-item โดยเติม if คุมตามที่ต้องการ
แนะนำเว็บไซต์ (Website Guides)
- http://codex.wordpress.org
- http://codex.wordthai.com
- http://www.thaiwp.com
- http://th.wordpress.org
- http://www.patsonic.com/wordpress/
- http://www.wordpressthai.org
ขั้นตอนการติดตั้ง Wordpress
หัวข้อที่ 1 : การติดตั้งเวิร์ดเพรส 2.7.1
ขั้นตอนที่ : 1
- Download : lastest.zip 1.8 MB จาก wordpress.org
- คล้าย .zip ลงเครื่องคอมพิวเตอร์
- คัดลอกแฟ้ม wp-config-sample.php เป็น wp-config.php
- ใช้ Notepad เปิดแฟ้ม wp-config.php มาแก้ไข
define('DB_NAME', 'wordpress');
define('DB_USER', 'username');
define('DB_PASSWORD', 'password');
define('DB_HOST', 'localhost');

- upload แฟ้มทั้งหมดขึ้น web server
- อาจ upload ไปยังห้อง htdocs หรือ wwwroot
- ต้องตรวจเงื่อนไขของ web server ว่าจะสร้าง DB_NAME, DB_USER, DB_PASSWORD, DB_HOST อย่างไร เช่นผมใช้ของ hypermart.net ก็ต้องเข้าไปอ่าน QA ของเขา
- ถ้าไม่รู้ก็โทรถามผู้ดูแลระบบเลยครับ
ขั้นตอนที่ : 2
- เข้า phpmyadmin ไปสร้างฐานข้อมูลชื่อ wordpress
- หรือใช้ create database wordpress; ใน mysql prompt
ขั้นตอนที่ : 3
- ติดตั้ง ให้เข้าเว็บเพจด้านล่างนี้
เปิด http://127.0.0.1/wordpress/wp-admin/install.php
หรือ http://127.0.0.1/wordpress/
- กรอก Title และ E-mail แล้ว Click Install Wordpress
- พบ Username: admin และ Password เช่น KU%7!1nqvsyo
- Click Log in เพื่อเข้าสู่ระบบ
ขั้นตอนที่ : 4
- เข้าระบบ http://127.0.0.1/wordpress/wp-login.php
- เลือก Change your password เพื่อเปลี่ยนรหัสของ admin
- โดย click คำว่า admin จากมุมบนขวา
- Menu Bar:Options:Check Box:Anyone can register เพื่อรับสมาชิก
- Menu Bar:Presentation:Wordpress Classic 1.5 ก็ดูดีครับ
หัวข้อที่ 2 : การทดสอบระบบผู้ใช้ (Account Testing)
- Click Register เพื่อสร้างสมาชิกใหม่ 3 ราย ชื่อ test1, test2, test3
- ทดสอบสมัครสมาชิกใช้ test1 และรหัสผ่านคือ thaiabc และ test2 และ test3 โดยมีรหัสผ่านเดียวกันหมด
- ถ้าสมัครผ่านระบบปกติ โดยส่ง mail จะใช้ mail เดิมไม่ได้ และสมัครซ้ำไม่ได้ เพราะ user ถูกเพิ่มทันที
- admin สามารถเข้าไปเปลี่ยนรหัสผ่านให้กับ user ได้
- ถ้าต้องการให้ user เขียน blog ได้ ต้องกำหนดเป็น Author และผมกำหนดให้ user ทั้ง 3 เป็นหมด
- ควรสร้าง Categories จะได้มีบทความเป็นหมวดหมู่ เข้าในฐานะ Admin แล้วเลือก Manage, Categories
- admin สามารถเข้าไปย้าย Categories ของบทความได้
หัวข้อที่ 3 : การกำหนด Permalinks ผ่าน author name และ post id ตามลำดับ
- ถ้ากำหนดในส่วนของ
2.0.2 -> Custom, specify below
2.7 -> Setting, Permalinks
- เป็น /%author%/%post_id%/
- ผลที่ได้คือ http://127.0.0.1/wordpress/admin/99/
+ http://codex.wordpress.org/Using_Permalinks หัวข้อที่ 4 : การปรับรูปแบบใน wp-content\themes\default\style.css
- ปรับขนาด header
#header
#headerimg
- ปรับรูปแบบตัวอักษร
ใหม่ ชื่อ font ใช้ Microsoft Sans Serif แทนทั้งหมด
เดิม font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, sans-serif;
เดิม font: 95% "Times New Roman", Times, serif;
เดิม font-family: "Times New Roman", Times, serif;
เดิม font: 90%/175% 'Lucida Grande', 'Lucida Sans Unicode', Verdana, sans-serif;
เดิม font: italic normal 230% 'Times New Roman', Times, serif;
เดิม font: italic normal 110% 'Times New Roman', Times, serif;
เดิม font: normal normal 12px/115% 'Lucida Grande', 'Lucida Sans Unicode', Verdana, sans-serif;
เดิม font: normal 12px 'Lucida Grande', 'Lucida Sans Unicode', Verdana, sans-serif;
- เพิ่มชื่อผู้เขียน ใน index.php
เดิม <?php the_time('F jS, Y') ?> <!-- by <?php the_author() ?> -->
ใหม่ <?php the_time('F jS, Y') ?> by <?php the_author() ?>
ใหม่ <?php the_time('F jS, Y') ?> by <a href=<?php the_author_login() ?>><?php the_author() ?></a>
- ใส่ google adsense ใน header.php หัวข้อที่ 5 : การอัพเกรดจาก Wordpress 2.02 เป็น 2.7
- Download Wordpress รุ่นล่าสุด แล้วคลายลงเครื่องเช่น Drive C เพื่อพักไว้ก่อน
- คัดลอกแฟ้ม wp-config.php ของเดิมเป็น Backup เก็บไว้ก่อน
- แล้วคัดลอกแฟ้มในห้อง wordpress ใหม่มาทับของเดิม
- คัดลอกแฟ้ม wp-config.php ที่ Backup ไว้ มาใส่ในห้อง wordpress
- เปิด http://127.0.0.1/wordpress/wp-admin แล้วเลือก Upgrade Wordpress และ Continue
การย้ายข้อมูลจากเครื่องหนึ่งไปอีกเครื่องหนึ่ง
1. ใช้ phpmyadmin เลือก export และ Save as file
+ เลือก Add DROP TABLE เพื่อสั่งลบตารางเดิมก่อนสร้าง
+ ไม่เลือกตาราง wp_users (เคยมีตารางนี้ในเครื่องเดิม)
+ จะได้แฟ้มแบบ sql เช่น x.sql (ผมได้ 6.34 MB) 2. แก้ปัญหาภาษาไทยใน x.sql ด้วยการ Encode Conversion (ถ้ามีปัญหานะ)
ข้อมูล
+ นำแฟ้ม x.sql ไป import ในเครื่องปลายทางของผม เปิด blog ไม่ขึ้น
+ Warning: preg_match() [function.preg-match]: ใน wp-includes\classes.php
เพราะไปกำหนด tag base เป็น ?tag=
เปลี่ยน ?tag= เป็น mytag จะแก้ปัญหาได้ จะไม่พบ Warning อีก
ผมเปลี่ยน tag base เพราะมีปัญหากับ tag ภาษาไทย
เครื่องต้นทางของผมยังต้องใช้ ?tag= โดย php ปิดการแสดง Warning
+ ไม่มีอะไรออกมาเลย .. ขาวไปหมด
เพราะ theme เครื่องต้นทางกับปลายทางไม่ตรงกัน
วิธีที่ 1. ใช้ notepad++
+ เปิดแฟ้ม x.sql ด้วย Notepad++
+ พบว่าอ่านภาษาไทยไม่ออก ให้เลือก Encoding, Encode in UTF8
+ พบว่าอ่านภาษาไทยออกแล้วด้วย notepad++ แล้วจัดเก็บเป็นแฟ้มชื่อเดิม
วิธีที่ 2. ใช้ MS Word 2003
+ เปิดแฟ้ม x.sql จะถามการ Conversion
+ เลือก Unicode(UTF-8) แล้วกดปุ่ม OK (เมื่ออ่านดูภาษาไทย ต้องอ่านออกนะครับ)
+ เลือก File, Save As จะถาม File Conversion อีกครั้ง ให้เลือก Windows(Default)
3. ถ้าเปิดแฟ้ม x.sql ด้วย editplus ก็จะอ่านภาษาไทยออก
+ ตรวจว่ามี DEFAULT CHARSET=utf8 หลัง ENGINE=MyISAM หรือไม่ ถ้าไม่มีต้องเพิ่ม
+ เปลี่ยน url ของภาพเป็น ip เครื่องใหม่ เพื่อให้เรียกภาพได้ถูกต้อง
เช่นของเดิม http://www.yourwebsite.com/blog
เป็นของใหม่ http://127.0.0.1/wordpress
+ download แฟ้มจากห้อง uploads มาในเครื่อง 127.0.0.1/wordpress/wp-content/uploads 4. การ import ด้วย phpmyadmin
+ ต้องกำหนด Character set of the file = UTF8 หรือ TIS620 ให้ตรงกับแฟ้ม 5. ดูว่า wp-config.php มี define('DB_CHARSET', 'utf8'); หรือไม่ ไม่มีก็ต้องเพิ่ม
ตัวอย่างเครื่องต้นทาง
MySQL charset: UTF-8 Unicode
MySQL connection collation: utf8_unicode_ci
Collation ของ Table: utf8_general_ci
Collation ของ Field(char): utf8_general_ci

ตัวอย่างเครื่องปลายทาง
MySQL charset: UTF-8 Unicode
MySQL connection collation: utf8_unicode_ci
Collation ของ Table: utf8_general_ci
Collation ของ Field(char) : utf8_general_ci


ขั้นตอนการสมัคร gravatar.com
1. เข้าเว็บไซต์ gravatar.com แล้วกดสมัครสมาชิก
2. ยืนยันตัวตนการสมัครด้วยการกรอก อีเมล เพื่อยืนยันตัวตน
3. พบอีเมลจาก gravatar ในกล่องจดหมายเข้า คลิ๊กลิงค์เพื่อยืนยัน
4. เข้าหน้ากำหนดรหัสผู้ใช้ของ gravatar.com กรอกรหัสผู้ใช้ รหัสผ่าน
5. พบเว็บเพจ My Account เพื่อ upload ภาพของตนเอง
6. ภาพจะไปแสดงในเว็บบล็อกของ wordpress ใดใดตามอีเมลที่กำหนด
เพิ่ม keywords และ description ใน header.php
1. แฟ้ม header.php อยู่ใน \wordpress\wp-content\themes\default
2. เพิ่ม tag ต่อไปในเข้าไปใน header.php
<meta name="keywords" content="<?php
if (function_exists("the_tags_nonlink")) {
add_filter('the_tags_nonlink', 'strip_tags');
echo the_tags_nonlink('', ',', ' ');
} ?> แลกเปลี่ยนเรียนรู้" />
<meta name="description" content="<?php wp_title(' ', true, 'right'); ?>" />
3. เพิ่ม 2 ฟังก์ชันในแฟ้ม category-template.php อยู่ใน \wordpress\wp-includes
function get_the_tag_list_nonlink( $before = '', $sep = '', $after = '' ) {
return apply_filters( 'the_tags_nonlink', get_the_term_list( 0, 'post_tag', $before, $sep, $after ), $before, $sep, $after);
}
function the_tags_nonlink( $before = null, $sep = ', ', $after = '' ) {
if ( null === $before ) $before = __('Tags: ');
echo get_the_tag_list_nonlink($before, $sep, $after);
}
4. ปัญหาการ upgrade จา ก 2.9.0 เป็น 3.0.1
การแก้ script เพื่อเติม keywords ทำให้หลัง upgrade ไม่ปรากฎอะไรเลย
เพราะแฟ้ม header.php เรียกใช้ category-template.php ใน \wordpress\wp-includes
แต่ category-template.php ไม่มี ฟังก์ชัน 2 ตัวที่สร้างขึ้นใหม่ ทำให้โปรแกรมหยุดทำงาน
แก้ไขโดยคัดลอก 2 ฟังก์ชันไปไว้ใน category-template.php ก็จะแก้ปัญหาได้
วิธีติดตามเพิ่มการติดตาม Twitter ใน Wordpress

+ เพิ่ม Twitter Profile Widget ใน footer.php ของ /blog/wp-content/themes/default/
+ ต้องมี Twitter อยู่แล้ว เช่นมีใน http://twitter.com/thaiabc
+ นำ script มาจาก http://twitter.com/goodies/widget_profile
Source Code
ติดตั้ง WP-PageNavi สำหรับ WP3.3.1 : twentyeleven
4 มี.ค.55
1. ติดตั้ง และ activate WP-PageNavi ที่พัฒนาโดย Lester 'GaMerZ' Chan & scribu
2. เปิดแฟ้ม functions.php ของ wordpress 3.3.1 ที่ใช้ theme twentyeleven
แล้วหาฟังก์ชั่น function twentyeleven_content_nav( $nav_id )
3. จากนั้น ก็เพิ่ม <?php wp_pagenavi(); ?> เข้าไปใต้ <!-- #nav-above -->
4. สามารถลบฟังก์ชั่นการแสดง Older posts และ Newer posts ก็สามารถดำเนินการใน function นี้ได้เลย
โดยลบตั้งแต่ <nav id="<?php echo $nav_id; ?>"> ถึง </nav><!-- #nav-above -->
http://wordpress.org/extend/plugins/wp-pagenavi/

การแก้ไขคำว่า Proudly powered by WordPress
ผมเปลี่ยนเป็น scripts by wordpress ใน footer.php
ส่ง truehits.net ไม่ขึ้น เพราะ lampang.net ถูกเรียกผ่าน frame
ถ้าเปิดในหน้าใหม่ จึงจะแสดงผลตามปกติ .. ก็ได้อย่างเสียอย่างครับ
ภาพหน้าขอของ wordpress
ส่วนของผู้ใช้
Classic 1.5 by Dave Shea


ส่วนของผู้ดูแล 2.0.2


ส่วนของผู้ดูแล 2.7
update version ของ firefox เป็น 4.0.1
13 พ.ค.54 มีการสอบถามให้ปรับรุ่นของ firefox browser อัตโนมัติ เมื่อคลิ๊กยอมรับก็จะ download และ reinstall firefox เป็น 4.0.1 พบลิงค์แนะนำให้ติดตามเกี่ยวกับ firefox.com ใน 3 แหล่งคือ http://twitter.com/firefox http://www.facebook.com/Firefox http://blog.mozilla.com/ ซึ่งระบบ blog ที่ firefox ใช้คือ wordpress เหตุที่ทราบ เพราะทดสอบเข้าไปที่ http://blog.mozilla.com/wp-admin ก็พบจะหน้าตาเป็น wordpress ถ้านักพัฒนาเว็บไซต์ต้องการเผยแพร่ หรือประชาสัมพันธ์ เพื่อเป็นแหล่งให้ผู้ใช้ได้ติดตามข้อมูลข่าวสาร ก็อาจเลือกบริการ twitter ซึ่งเป็น mini blog เลือก facebook page ซึ่งเป็น fan page เลือก wordpress สำหรับบริการ blog
http://www.thaiall.com/blogacla/admin/362/
wordpress บน nginx
9 ก.ย.58 เลือก Permalink Settings ใน Settings (wp-admin.php) เป็น http://xxx.com/sample-post/ แล้วบอกว่า 404 ถ้ากรณีนี้เกิดกับ apache ก็จะเข้าไปแก้โดยเปิด mod_rewrite ใน httpd.conf แต่ถ้าพบกับ nginx ก็จะต้องเข้า nginx.conf หรือ bitnami.conf บน google cloud ที่ใช้ Bitnami โดยเติม try_files $uri $uri/ /index.php?$args; เข้าไปใน locathion / { } แล้วถ้าไม่รู้จัก index.php เป็น default ก็จะต้องเพิ่มเข้าไปใน index index.html index.htm; จากนั้นก็ restart service ด้วย #service nginx restart ส่วนบน google cloud ผมใช้ #service bitnami restart

แนะนำเว็บใหม่ : ผลการจัดอันดับ
รักลำปาง : thcity.com : korattown.com : topsiam.com : มหาวิทยาลัยเนชั่น
ศูนย์สอบ : รวมบทความ : ไอทีในชีวิตประจำวัน : ดาวน์โหลด : yourname@thaiall.com
ติดต่อ ทีมงาน ชาวลำปาง มีฝันเพื่อการศึกษา Tel.08-1992-7223