[ WordPress技術類 ] 給網址一個新家 (靜態網址) – add_rewrite_rule (Rewrite API)

Rewrite API

WordPress Rewrite API

一篇文章或是產品訊息, 如果有一個簡單乾淨的網址, 則不管貼到 facebook 或是 討論區, 方便好看, 在 wordpress 的 functions.php 中, 加入以下程式碼:

// Add the rewrite rule – 增加 rewrite_rule, 必須在 init 時

add_action( ‘init’, ‘anson_add_rules’ );
function anson_add_rules() {
add_rewrite_rule( ‘my_billboard/?([^/]*)’,
‘index.php?pagename=my-page&list_type=$matches[1]’, ‘top’ );
}

// list_type是自己定義的參數, 也可以是product id, 用來辨識產品.
// 必須將 list_type 加入query_vars, 讓 wordpress 認得它.

add_filter( ‘query_vars’, ‘anson_add_query_var’ );
function anson_add_query_var( $vars ) {
$vars[] = ‘list_type’;
return $vars;
}

之後就可以使用這樣的網址:

http://xxxxxx.xxxx.xxx/my_billboard/new-product

wordpress 會把 new-product 這個字串 帶入 index.php?pagename=my-page&list_type=$matches[1]     中的 list_type

備註: 如果沒有效用, 請先瀏覽一下後台的 固定網址頁面  /wp-admin/options-permalink.php  , 瀏覽這頁 可以清 cache  (flush_rules).
技術細節 (英文) :  http://codex.wordpress.org/Rewrite_API

網頁設計,程式設計

Advertisements

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s