|
如果我们希望url地址漂亮方便收录我们需要进行一些优化了,下面来介绍WORDPRESS中自定义路由和URL参数的例子.
</div><p>wordpress可以使用rewrite API让url更加美观,需要用到两个相关的rewite函数,分别是add_rewrite_tag和add_rewrite_rule。下面看看具体的例子如何自定义wordpress路由规则,和自定义url参数。</p>
<p>add_action( 'init', 'my_rr_url' );<br />
function my_rr_url()<br />
{ <br />
//Ensure the $wp_rewrite global is loaded<br />
global $wp_rewrite;<br />
add_rewrite_tag('%myname%','([^&]+)');<br />
add_rewrite_rule( 'haha/([A-Za-z0-9]{1,})/?$','index.php?page_id=8&myname=$matches[1]', 'top' );<br />
<br />
//Call flush_rules() as a method of the $wp_rewrite object<br />
$wp_rewrite->flush_rules();<br />
}<br />
add_rewrite_tag自定义url参数</p>
<p>使用add_rewrite_tag函数可以添加自定义url参数,比如以上例子的&myname=,告诉wordpress myname参数是合法的,因此使用add_rewrite_tag函数注册这个url参数。</p>
<p>*add_rewrite_tag函数不是美化wordpress URL路由规则必须的,当你添加自定义参数时才会用到。比如本例添加了一个参数myname。</p>
<p>add_rewrite_rule自定义路由</p>
<p>要美化wordpress的url,必须使用add_rewrite_rule函数,自定义url访问规则,告诉wordpress如何正确解析。如上例中的:</p>
<p> </p>
<p>add_rewrite_rule( 'haha/([A-Za-z0-9]{1,})/?$','index.php?page_id=8&myname=$matches[1]', 'top' );</p>
<p>第一个匹配的参数是$matches[1],第二个是$matches[2],以此类推。</p>
<p>熟悉使用了这个两个函数:add_rewrite_tag和add_rewrite_rule,就可以随心所欲的自定义wordpress网站的路由规则了 |
|