添加翻译规则。首先我们前面介绍了url的翻译规则,我们要往翻译规则中添加一条自己的翻译规则
add_action('generate_rewrite_rules', 'hliang_rewrite_rules' ); /**********重写规则************/ function hliang_rewrite_rules( $wp_rewrite ){ $new_rules = array( 'my-account/?$' => 'index.php?my_custom_page=hello_page', ); //添加翻译规则 $wp_rewrite->rules = $new_rules + $wp_rewrite->rules; //php数组相加 }
添加 $public_query_vars
/*******添加query_var变量***************/ add_action('query_vars', 'hliang_add_query_vars'); function hliang_add_query_vars($public_query_vars){ $public_query_vars[] = 'my_custom_page'; //往数组中添加添加my_custom_page return $public_query_vars; }
添加模板载入规则
//模板载入规则 add_action("template_redirect", 'hliang_template_redirect'); function hliang_template_redirect(){ global $wp; global $wp_query, $wp_rewrite; //查询my_custom_page变量 $reditect_page = $wp_query->query_vars['my_custom_page']; //如果my_custom_page等于hello_page,则载入user/helloashu.php页面 //注意 my-account/被翻译成index.php?my_custom_page=hello_page了。 if ($reditect_page == "hello_page"){ include(TEMPLATEPATH.'/user/helloashu.php'); die(); } }
更新重写规则
/***************激活主题更新重写规则***********************/ add_action( 'load-themes.php', 'hliang_flush_rewrite_rules' ); function hliang_flush_rewrite_rules() { global $pagenow, $wp_rewrite; if ( 'themes.php' == $pagenow && isset( $_GET['activated'] ) ) $wp_rewrite->flush_rules(); }
OK,到了这里,到后台重新激活你的主题,就能看到前面图示的效果了。