模板的自定义URL重写

时间:2010-10-05 作者:Gavin

我需要将一些URL重写为自定义模板。例如,我在域中有一个页面。com/page,当用户单击某个元素上的“删除”时,它将转到域。com/页/?移除=54。我想把它改写成域名。com/page/remove/54。

感谢您的帮助,提前谢谢!

2 个回复
SO网友:Jan Fabry

由于您想在每个帖子/页面重写规则的末尾添加一些内容,您可能只需添加一个重写端点即可。这些是以下形式的正则表达式/[endpoint_name](/[optional_extra_stuff])? 附加到已生成的页面、帖子、归档等规则中。。。

通过设置端点掩码,可以定义要在哪些结构上添加它们。这是一个位掩码,因此可以使用| 操作员,如下所示:EP_PERMALINK | EP_PAGES 将匹配每个页面和每个永久链接(完整的帖子和基于日期的存档)。可以找到端点的默认列表at the top of wp-includes/rewrite.php.

以下代码将添加/remove(/(.*))? 对于页面、帖子和基于日期的归档文件的现有重写规则(由于某些原因,它们会生成两次,一次在EP_PERMALINK 一旦进入EP_DATE). remove 还将作为公共查询变量提供,因此您可以$wp_query->get( \'remove\' ) 获取[optional_extra_stuff] 在URL中。

add_filter( \'init\', \'wpse2614_init\' );
function wpse2614_init()
{
    add_rewrite_endpoint( \'remove\', EP_PERMALINK | EP_PAGES );
}

SO网友:hakre

这非常简单。在PHP脚本中输出?remove=54 仅输出remove/54 相反这应该可以按照您的要求更改链接。

结束

相关推荐