Category link」タグアーカイブ

WordPress でカテゴリのリンクを変更する

WordPress でカテゴリのリンクを標準以外に変更する方法です。
まぁ、それ専用のプラグインとかも探せば有ると思うんですが

http://example.com/?cid=xx 形式に変更する

例えば、カテゴリのリンクを http://example.com/?cid=xx とかって形式でも表示できるようにするには、以下のようにして parse_query フィルタを使うと良いです。
# functions.php とかに追加してやってください。

class add_category_link_to_different_link {
	function __construct(){
		add_filter('query_vars', array(&$this, 'add_query_vars'));
		add_action('parse_query', array(&$this, 'parse_query'));
	}
	public function add_query_vars($qvars) {
		$qvars[] = 'cid';
		return $qvars;
	}
	public function parse_query($query) {
		$cat_id  = (int) $query->query_vars['cid'];
		if ( !(empty($cat_id) || $cat_id === 0) ) {
			$url = get_category_link($cat_id);
			if ( !empty($url) && $url !== FALSE ) {
				$query->query_vars["cat"] = $cat_id;
				$query->is_404 = false;
			} else {
				$query->set_404();
			}
		}
		return $query;
	}
}
new add_category_link_to_different_link;

続きを読む