WordPress เลือกแสดงแค่บาง Category

Biomed.in.th

ช่วงนี้ในเว็บ Biomed.in.th มีข่าวประชาสัมพันธ์ทั่วไป กับข่าวเปิดรับสมัครทุน และสมัครงานผู้ช่วยวิจัยเยอะหน่อย ซึ่งมันก็ถือว่าดีเลยล่ะถ้ามันจะเป็นแหล่งหางานให้กับคนที่จบด้านนี้ แต่แค่รู้สึกว่าการแสดงข่าวประชาสัมพันธ์รับสมัครงานปนกับบทความวิชาการอื่นๆ ในหน้าหลักเรียงกันหลายๆอันมันรู้สึกว่าดูไม่ค่อยดีเท่าไหร่ มันให้ความรู้สึกว่าจะกลายเป็นเว็บสมัครงานแทนซะงั้น เลยลองเปิดดูใน codex.WordPress ดูว่ามีส่วนของการจัดการโพสอย่างไรบ้าง ก่อนหน้านี้ก็เคยเขียนเกี่ยวกับ Sticky ของ WordPress ไว้เหมือนกัน ซึ่งลักษณะการเขียนก็คล้ายๆกัน ผมเอามาบันทึกเก็บไว้เผื่อได้เรียกใช้งานในครั้งหน้า ส่วนใครที่รู้อยู่แล้วก็ผ่านไป

ปกติแล้วการเรียกวนลูปให้แสดงโพสใน WordPress มี โค้ดสั้นๆดังนี้

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
.....
<?php endwhile; ?>

แต่ในกรณีของเว็บ Biomed.in.th เราไม่ต้องการให้โพสที่อยู่ใน Category ของกลุ่มโพสสมัครงาน(ต้องสร้างไว้ก่อนแล้ว) แสดงในหน้าแรก ให้เปลี่ยนโค้ดด้านบนเป็น แบบนี้ครับ

<?php query_posts($query_string . '&cat=-3,-8'); ?>
 <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
.....
<?php endwhile; ?>

ตรงเลข -3,-8 คือ ID ของ Category ที่เราไม่ต้องการให้มันแสดง ใส่ได้ตามต้องการ
นอกจากนี้ยังมีวิธีการใส่ Style แยกตาม Category การวนหลายลูป ลองเข้าไปอ่านเพิ่มเติมได้ที่ ที่นี้ https://codex.WordPress.org/The_Loop

แล้วถ้าเอาออกจากหน้าแรกแล้ว จะเข้าไปดูยังไง ผมก็เลยสร้างลิงค์ของ Category ข่าวกับงาน ขึ้นมาโดยเฉพาะ ใครสนใจจะได้คลิกเข้าไปดูได้เลย

เพิ่มเมนู News & Jobs ให้ Biomed.in.th

แล้วนอกจากนั้นยังเพิ่ม Widget ที่เลือกแสดงแค่บาง Category ได้ มันคือปลั๊กอินที่ชื่อ List Category ก็ติดตั้งแล้วดึงมาโชว์ไว้ Sidebar ด้วยอีกอัน

วิธีแก้ปัญหา server สำหรับ WordPress

ทำ server สำหรับ WordPress

วิธีแก้ปัญหา server  สำหรับ WordPress  ณ แห่งหนึ่ง เขียนบันทึกเตือนความจำไว้ หลายครั้งมักกลับมาเปิดอ่านทบทวนเมื่อจำเป็นต้องใช้ บอกไว้ก่อนว่าตัวเองไม่ใช่คนรู้เรื่อง Network อะไรเลยทำไปถาม Google ไป แก้ได้ก็ดีไป ไม่ได้ก็ค้นไปเรื่อยๆ ลองผิดถูกหลายอย่างกว่าปัญหาจะถูกแก้ไข

เครื่องต่ออินเทอร์เน็ตออกข้างนอกไม่ได้ FTP ไม่ได้ มีหลายเว็บอยู่ไหนนั้น ผมทำไปและจดสิ่งที่เกิดขึ้นและวิธีแก้ปัญหาไป แบบเจอปัญหาแล้วค้น แก้มาเรื่อยๆ

  1. เครื่องเป็น Windows Server 2003 รัน PHP4 และ MySQL 4 จึงต้องอัพเกรดใหม่
  2. เครื่องมันเล่นเน็ตไม่ได้ เมื่อเปิดเว็บของตัวเองมันจะไม่แสดงผล ทำให้งมอยู่ตั้งนาน วิธีแก้คือ สร้าง Visual ขึ้นมาใหม่ตั้งชื่อ server เป็น localhost แล้วชี้ไปที่เดียวกันกับ default website
  3. หลังลบ PHP4 ลง PHP5 ใหม่ เกิด error บอกตำแหน่ง code ไม่ถูก ให้แก้ doc_root= ใน php.ini เป็นไม่ต้องเติมอะไร แล้วเครื่องก็รันได้ปกติ
  4. ใช้ PHP แบบ isapi ไม่รู้พอทำแบบ cgi แล้วไม่ได้
  5. โค้ด phpinfo รันได้ แต่เกิด error ในหน้าเว็บ ให้ copy ไฟล์ libmysql.dll ตัวใหม่จากโฟว์เดอร์ PHP ไปวางไว้ที่ C:/WINDOWS/System32
  6. ทำ backup  database เป็นไฟล์ .sql เวลาเอาเข้า ก็สร้างชื่อให้ตรงตามเดิมแล้ว Query เข้าไปได้เลย เลือก Charset ให้ถูก(เว็บเก่ามักใช้ tis620)
  7. เว็บเก่าใช้ taq php แบบ short code อย่างลืมไปเปิด short_open_tag= On
  8. เครื่องที่เล่นเน็ตไม่ได้ หรือใช้ VPN เมื่อใช้ WordPress แทบจะทำอะไรไม่ได้เลย ลง plugin, themes, update core, backup, restore ไม่ได้สักอย่าง ทุกอย่างต้องทำมือหมด แย่จริงๆ
  9. วิธีย้าย ผมทำโดยการลง WordPress ที่เครื่องใหม่ เอา folder เว็บที่ทำเสร็จแล้วเข้าไปทับ(ไม่ทับ config.inc.php) drop database เอาอันที่ทำเสร็จเข้าไปแทนในชื่อเดิม เข้าไปแก้รายละเอียดในตาราง WP_Option แก้ URL ใน guide ให้เป็นอันใหม่

สรุปว่าตอนนี้รันได้แล้ว ทั้งเว็บเก่าเว็บใหม่ แต่เหมือนยังไม่สมบูรณ์ เพราะตัวไหนที่ใช้งาน API จากเว็บอื่น ทำงานไม่ได้เลย