1. 程式人生 > >wordpress學習(四)---url偽靜態簡單了解

wordpress學習(四)---url偽靜態簡單了解

var rewrite 月份 word lob ont cal page true

在page-url.php頁面做測試

<h2>url偽靜態</h2>

接收到的pagename參數是:<? echo $wp_query->query_vars[‘pagename‘] ?><br/>
接收到的v參數是:<? echo $wp_query->query_vars[‘v‘]; ?>

functions.php加入

	add_filter(‘rewrite_rules_array‘,‘my_insert_rewrite_rules‘);
	add_filter(‘query_vars‘,‘my_insert_query_vars‘);
	add_action(‘wp_loaded‘,‘my_flush_rules‘);//當wp加載時,運行my_flush_rules方法


	//如果偽靜態規則裏面沒有我們的規則,則進行重置
	function my_flush_rules(){
		$rules = get_option(‘rewrite_rules‘);  //獲取option數據表中‘rewrite-rules’

		if (!isset($rules[‘url-(.*).html‘])) {
			global $wp_rewrite;
			$wp_rewrite->flush_rules();
		}
	}
	
	//添加一個新的偽靜態規則
	function my_insert_rewrite_rules($rules){
		$newrules = array();
		$newrules[‘url-(.*).html‘] = ‘index.php?pagename=$matches[0]&v=$matches[1]‘;
		return $newrules + $rules;
	}

	//添加一個變量名稱
	function my_insert_query_vars($vars){
		array_push($vars, ‘v‘);
		return $vars;
	}
	
	//echo $wp_query->query_vars[‘v‘];  //在需要獲取的get傳值的地方寫入

  

保存之後,在瀏覽器地址欄輸入 localhost/wordpress/url-123.html,;做測試

附:wordpress固定鏈接設置的一些參數

  1. %year%:基於文章發布的年份,比如2010;
  2. %monthnum%:基於文章發布的月份,比如01;
  3. %day%:基於文章發布當日,比如06;
  4. %hour%:基於文章發布小時數,比如23;
  5. %minute%:基於文章發布分鐘數,比如43;
  6. %second%:基於文章發布秒數,比如33;
  7. %postname%:基於文章的postname,其值為撰寫時指定的縮略名,不指定縮略名時是文章標題;
  8. %post_id%:基於文章post_id,比如48;
  9. %category%:基於文章分類,子分類會處理成“分類/子分類”這種形式;
  10. %author%:基於文章作者名。

wordpress學習(四)---url偽靜態簡單了解