wordpress学习(四)---url伪静态简单了解

在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%:基于文章作者名。
原文地址:https://www.cnblogs.com/zst062102/p/7347526.html