WORDPRESS中自定义路由和URL参数

wordpress可以使用rewrite API让url更加美观,需要用到两个相关的rewite函数,分别是add_rewrite_tag和add_rewrite_rule。下面看看具体的例子如何自定义wordpress路由规则,和自定义url参数。

add_action( 'init', 'my_rr_url' );
function my_rr_url()
{     
    //Ensure the $wp_rewrite global is loaded
    global $wp_rewrite;
    add_rewrite_tag('%myname%','([^&]+)');
    add_rewrite_rule( 'haha/([A-Za-z0-9]{1,})/?$','index.php?page_id=8&myname=$matches[1]', 'top' );
 
    //Call flush_rules() as a method of the $wp_rewrite object
    $wp_rewrite->flush_rules();
}
add_rewrite_tag自定义url参数

使用add_rewrite_tag函数可以添加自定义url参数,比如以上例子的&myname=,告诉wordpress myname参数是合法的,因此使用add_rewrite_tag函数注册这个url参数。

*add_rewrite_tag函数不是美化wordpress URL路由规则必须的,当你添加自定义参数时才会用到。比如本例添加了一个参数myname。

add_rewrite_rule自定义路由

要美化wordpress的url,必须使用add_rewrite_rule函数,自定义url访问规则,告诉wordpress如何正确解析。如上例中的:

 

add_rewrite_rule( 'haha/([A-Za-z0-9]{1,})/?$','index.php?page_id=8&myname=$matches[1]', 'top' );

第一个匹配的参数是$matches[1],第二个是$matches[2],以此类推。

熟悉使用了这个两个函数:add_rewrite_tag和add_rewrite_rule,就可以随心所欲的自定义wordpress网站的路由规则了

时间: 2024-10-11 08:54:58

WORDPRESS中自定义路由和URL参数的相关文章

liferay portal:liferayportal中js写进url参数

url参数写成两种方式:1.var rank= document.getElementById("rank").value;var ParentColumnWindow = window.open('<portlet:renderURL windowState="<%= LiferayWindowState.POP_UP.toString() %>"><portlet:param name="struts_action&quo

WordPress中自定义后台管理界面配色方案的小技巧_php技巧

WordPress 3.8 开始的全新设计的后台支持多颜色选择,默认有八种非常精美的配色,可以让用户自己选择. 关于配色 WordPress 提供了一个函数 wp_admin_css_color() 可以让开发者自定义配色,只需要调用一下这个函数即可完成所有的注册操作. 参数 wp_admin_css_color( $key, $name, $url, $colors = array(), $icons = array() ); $key(string):颜色的 ID $name(string)

wordpress中自定义菜单制作详细教程

.要想实现自定义菜单,需要用到的函数是wp_nav_menu(),给这个函数传递一些参数就可以输出自定义菜单菜单,下面简单讲讲如何使用使用这个函数.      首先,在主题目录下的functions.php的 <?php -.. ?> 之间,添加以下菜单注册代码,这样你就可以在主题文件中使用wp_nav_menu函数了:  // This theme uses wp_nav_menu() in one location. register_nav_menus();      接着我们在主题的导

在JavaScript中获取请求的URL参数[正则]_javascript技巧

第一种方法:,代码比较专业 推荐 复制代码 代码如下: <script> function GetLocationParam(param){ var request = { QueryString : function(val) { var uri = window.location.search; var re = new RegExp("" +val+ "=([^&?]*)", "ig"); return ((uri.ma

在JavaScript中获取请求的URL参数_javascript技巧

当然我们可以在后台中获取参数的值,然后在前台js代码中获取变量的值,具体做法请参考我的这篇文章:JavaScript获取后台C#变量以及调用后台方法. 其实我们也可以直接在js中获取请求的参数的值,通过使用window.location.search可以获取到当前URL的?号开始的字符串,如前面的链接获取到的search为?id=001.再对获取的字符串进行处理,就可以获取到参数的值了. 复制代码 代码如下: function getUrlParam(name) { var reg = new

Asp.Net4.0/VS2010新变化(3):webform中也可以直接url路由

以前在做asp的时候,要把 /default.asp?id=123映射成/default/123,需要借助IISRewriter这个组件,到了asp.net以后,可以用代码写了,但是个人觉得很麻烦,要写一堆代码,还要修改web.config,现在好了:asp.net4.0中 asp.net mvc中的路由规则全部可以用于webform了   使用步骤: 1.Global.ascx.cs中先注册路由规则 using System; using System.Web.Routing; namespa

阿里云如何使用新建自定义路由接口

新建自定义路由 描述 新建RouteEntry 支持在专有网络中的路由器(VRouter)和高速通道中的边界路由器(VBR)上的路由表(RouteTable)里,新建RouteEntry 在专有网络中的路由器上的RouteTable中创建RouteEntry: 同一个路由表中自定义路由条目不能超过48条 RouteEntry的DestinationCidrBlock不允许和VPC内VSwitch的CIDRBlock相同,也不允许包含VSwitch的CIDRBlock或者被VSwitch的CIDR

wordpress自定义url参数实现路由功能的代码示例_php实例

经过两天的正则表达式的学习,和研究wordpress的路由函数,成功实现了自定义wordpress路由功能,以下是路由规则的实现.如果有自定义的url参数,要通过路由传递,必须通过wordpress的函数将参数添加进去: 复制代码 代码如下: //add query_argsfunction add_query_vars($aVars) {    $aVars[] = 'score';    $aVars[] = 'type'; // represents the name of the pro

PHP中的自定义路由使用小结

简介 我手上有个用PHP写的网站,类似于个人测试性质的站点,我独立设计,在这过程中犯了所有可能的设计和编程上的错误,同时我也收获了很多,这也促使 我去学习PHP和MySQL.每当我学习新的技术或web实践时,都会想到我的网站会从中得益.正如你可以想象到的,它的可读性不强.测试网站往往在代码 可读性和可维护性方面表现糟糕,尤其当你仅仅因为某些必要的功能而学习一门编程语言时,而这也正是我一直以来学习PHP的方式. 自从了解了ASP.NET MVC,我便思考如何在这个网站上实践这套MVC模式.我喜欢这