WP Remix
Nop Pinyowanichaka | ก้าวสั้นๆ ในวันเบาๆ ของผม

Programming

14
Aug
2009

เริ่มต้นง่ายๆ กับการเขียน WordPress Plugin บทที่ 1

ว่าจะลองเขียน Plugin ของ WordPress หลายต่อหลายครั้งแล้ว แต่ยังไม่ได้เริ่มเลยสักครั้ง คราวนี้ฤกษ์งามยามดีเพราะว่าต้องทำ Theme ให้ www.iamewery.com แล้วต้องไปแก้ Plugins หลายๆอันเพื่อให้สวยงามพอดีกับ Theme และยังอยากเขียน Plugins ที่สำหรับ ใส่ตัวเก็บสถิติของ Stats.in.th ด้วย (โปรเจ็คถัดไป) วันนี้เลยเอาวิธีเขียน Plugins แบบ ง่ายมาเขียนให้ดูกันครับ

ในบทที่ 1 นี้เราจะเริ่มเขียน Plugin ง่ายๆตัวนึง โดยตั้งชื่อว่า WP-ColorClock หน้าที่ของปลั๊กอินอันนี้คือการแสดงวันที่ปัจจุบันในทุกๆ Post ด้วยอักษรสีแดง

ให้ทำการสร้าง File ชื่อ wp-colorclock.php ไว้ใน wp-content/plugins จากนั้นเข้าไปแก้ไขไฟล์นี้ด้วย Notepad หรือ Editor อื่นๆตามถนัด

< ?php
/*
Plugin Name: WP-ColorClock
Version: 0.1
Description: Plugin Description
Author: Plugin Author Name
Author URI:  Author website url
Plugin URI: Plugins website url
*/
?>

อ่านต่อ

Category : PHP | Blog
12
Jun
2009

ใน IIS6 ไม่มี ASP.Net Extension ทำยังไง ลงยังไง
เรื่องของเรื่องก็เพราะว่าวันนี้น้องขวัญที่ตอนนี้ผันตัวไปเป็น Web Programer โทรมาถามว่า ทำไม App ที่เขียนด้วย Visual Studio 2003 ภาษา VB ทำไม Up ขึ้น Server ไม่ได้ ผมลองเข้าไปดู ใน Server Extension มันก้อไม่มี สร้าง App มาใหม่เพื่อลองทดสอบ ก็ไม่ได้ มันฟ้องว่า หา File ไม่เจอ แน่ล่ะ!! ก็ IIS มันยังไม่ยอมรับ .aspx นี่

ทางแก้ไขก็ง่ายนิดเดียว

C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322(Frame Work Version ที่คุณใช้งาน โดยส่วนใหญ่ก็ 2 up)\aspnet_regiis.exe -i

อย่างของผมก็

C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_regiis.exe -i

จากนั้นก็ Enter แล้ว รอแป๊ปนึงก็จะพบ Message ว่าเรียบร้อยแล้ว จากนั้น ไปดูที่ Extension ก็จะมี ASP.Net Extension โผล่ขึ้นมาแล้วนั่นเอง

สาเหตุ

เพราะว่าลง Framework ก่อนลง IIS ตัว IIS เลยไม่ได้ลง Framework  (เขียนวนไปวนมาเนอะ)

คลิกเพื่ออ่าน Reference สำหรับ aspnet_regiis version เต็มๆ

Category : Programming | Blog
2
Jun
2008

เริ่มต้นกับ Javascript Library ดีๆ กับ JQuery เมื่อก่อนผมใช้ Prototype.js แบบทำ focus ทำ Ajax ง่ายๆ แต่หาอ่าน Document ลำบาก แล้วก็นั่งทำหน้ามึนกับมันไปนาน เลยเขียนได้แค่ก๊อกแก๊ก ก๊อกแก๊ก ไป แต่ไปเจอ หนังสือ JQuery in Action เลยคิดว่า เอาละเว้ย ตัวนี้แหละ (จริงๆ ก็ลองอ่านๆ ดูจากเว็บอื่นๆ ด้วย เพื่อประกอบการตัดสินใจ แม้ความจริง จะสามารถนำมันมาใช้รวมกันได้ทุกอัน) หลังจากที่ลองใช้งานดู พบเว็บที่น่าสนใจดังนี้

เว็บคนไทย อธิบายสั้นๆ ง่ายๆ แต่แจ่มแจ้งด้วย ขั้นตอนการทำงานของ JQuery ที่ทำเรื่องยากๆ ให้หมูไปเลย
http://sixhead.com/testrun/jquery/2008.01.31/demo.html

ผมชอบอันนี้แทบจะเป็นคู่มือที่อ่านเป็น reference แบบด่วนๆ ได้เลย
http://visualjquery.com/1.1.2.html

ถ้ามีเพิ่มผมจะมาเขียนเติมนะครับ ^^

Category : JavaScript | Blog
22
May
2008

เริ่มเอา Codeigniter ที่เป็น PHP Framework มาใช้งาน เนื่องจาก Learning Curve ต่ำๆ ของมัน ทำให้พอถูๆไถๆ ไปกับเค้าได้ แต่ผมว่ามันไม่ค่อย Smooth กับ MSSQL เอาเสียเลย เพราะ แม้ว่า Version ล่าสุดจะออกมาแล้วก็ตามยังไม่สามารถแก้ปัญหา การใช้ ActiveRecord กับ MSSQL ในการ Select ข้อมูลได้เลย สำหรับคนที่ีมีปัญหาเหมือนกัน ผมไปค้นเจอที่ Forum เลยเอามา Post ไ้ว้ จากที่นี่

$this->obj->db->select($filed_result);
$this>obj>db>where($filed_get,$keyword);
$query = $this>obj->db->get($table_get);

ถ้า Select แบบนี้ละก็ Error อย่างไม่ทราบสาเหตุทันที ทั้งๆ ที่ Query ถูก ให้ไปแก้ไข database/drivers/mssql/mssql_driver.php บรรทัดที่ 461 จาก

$item = preg_replace('/(^'.$lbound.')([\w\d\-\_]+?)(\s|\)|$)/iS', '$1"$2"$3', $item);

เป็น

$item = preg_replace('/(^'.$lbound.')([\w\d\-\_]+?)(\s|\)|$)/iS', '$1$2$3', $item);

บรรทัดที่ 466 จาก

return "\"{$item}\"";

เป็น

return "{$item}";

ก็จะสามารถใช้งาน Activerecord ใน mssql ได้ครับ

Category : PHP | Blog
6
May
2008

ใช้ Pagination ใน Codeigniter กับ ฐานข้อมูล Microsoft SQL (MSSQL)

คือผมได้มีโอกาศลองใช้ Codeigniter กับ การเขียน โปรแกรมเรียกดูข้อมูลง่ายๆ จาก MSSQL แต่ติดปัญหาเรื่องการแบ่งหน้าด้วย Pagination ลองค้นๆ ดูใน Forum เค้าให้ไปแก้ไฟล์

\system\database\drivers\mssql\mssql_driver.php

ตรงบรรทัด function _limit($sql, $limit, $offset) ให้เป็นแบบนี้

function _limit($sql, $limit, $offset)
{
// Horrible solucion =)
//$i = $limit + $offset;
//return preg_replace(‘/(^\SELECT (DISTINCT)?)/i’,'\\1 TOP ‘.$i.’ ‘, $sql);
$cursorName = ‘mi_cursor_’.md5(strtolower($sql));
$sql = “DECLARE “.$cursorName.” CURSOR DYNAMIC READ_ONLY FOR
“.$sql.”
OPEN “.$cursorName.”
DECLARE @CURSOR AS INT
SELECT @CURSOR = CURSOR_HANDLE FROM MASTER.DBO.SYSCURSORS
WHERE CURSOR_NAME = ‘”.$cursorName.”‘
EXEC SP_CURSORFETCH @CURSOR, 32, “.($offset+1).”, “.$limit.”
EXEC SP_CURSORCLOSE @CURSOR”;
return $sql;
}

ก็จะหายครับ

Category : PHP | Blog
18
Jan
2008

PHP มัน Error แบบนี้

Cannot modify header information – headers already sent

แก้ยังไง

มันมี 2 ทางแก้ครับ

1. แก้ที่ php.ini
โดย แก้ บรรทัดที่ output_buffering จาก Off ให้เป็น On ซะ
output_buffering = On

2. override config ของ php ด้วย code
โดย ใส่ ob_start(); ไว้บนสุดของ Page ครับ

Category : PHP | Blog
16
Aug
2007

Oled Keyboardพอเราต้องเขียน JavaScript มากๆ เข้าก็มีความจำเป็นในการต้องติดต่อ Interactive กับ Keyboard เพื่อการใช้งานในการอำนวยความสะดวกกับ User มากขึ้น คราวนี้ เวลาเราต้องการเขียน ดัก KeyCode เพื่อดัก Keyboard จำเป็นต้อง รู้รหัสของ Keyboard ไปค้นหาดูในเวบ ได้มาเลยเอามาเก็บไว้

ว่าจะเขียนเป็น JavaScript Keyboard Layout เก็บไว้เลย ตอนนี้เป็น Text ไปก่อนแล้วกัน  :oops: 

อ่านต่อ

Category : JavaScript | Blog
11
Jul
2007

ใช้ Flash กับ Javascript Menu

ทำไมใช้ Sothink DHTML แล้ว ปรากฏว่า ถ้า Menu มีการ Popup แล้ว เมนูหายไปอยู่หลัง Flash ใครใช้ Sothink แล้วคงเคยเจอ สำหรับวิธีแก้ปัญหา ก็ไม่ได้อยากเย็น เท่าไหร่เลย แต่ปัญหาไม่ได้อยู่ที่ DHTML Menu ของเรา แต่ไปอยู่ที่ Flash แทน – -”

เพียง ใส่ Parameter อันนี้เข้าไป ก็จะสามารถใช้งาน DHTML Menu คู่กับ Flash ได้แล้วครับ

<param name=”wmode” value=”transparent”>

Category : JavaScript | Blog
13
Jun
2007
  1. writing code,
  2. compiling it into bytecode
  3. running the bytecode.Example
1
2
3
4
5
public class MainClass {
    public static void main(String[] args) {
        System.out.println("Java");
    }
}
Category : Java Tutorial | Blog
1
Apr
2007
1
2
3
4
5
6
7
8
9
10
11
12
13
function makeurl($param)
{
$replace=str_replace(' ','-',$param);
$replace=str_replace('&amp;','and',$replace);
$replace=str_replace('/','-',$replace);
$replace=str_replace('(','',$replace);
$replace=str_replace(')','',$replace);
$replace=str_replace('+','',$replace);
$replace=str_replace('#','',$replace);
$replace=str_replace("'",'-',$replace);
$replace=str_replace('"','-',$replace);
return $replace;
}

จะเป็น function ในการ เปลี่ยน – ‘ / ( ) # ‘ ” ให้เป็น – เพื่อให้เหมาะสมกับการค้นหาของ google

Category : PHP | Blog