WordPress的page_rewrite_rules钩子主要用于修改自定义页面的重写规则。通过使用此钩子,您可以更改页面的URL,添加自定义规则或设置自定义重定向。
使用此钩子时,您需要遵循以下步骤:
1. 添加钩子函数:在主题的functions.php文件或自定义插件中添加一个钩子函数来修改页面的重写规则。钩子函数的名称可以是任意的。
function custom_page_rewrite_rules($page_rewrite) {
// 在这里修改重写规则
return $page_rewrite;
}
add_filter('page_rewrite_rules', 'custom_page_rewrite_rules');
2. 修改重写规则:在钩子函数中,您可以修改$page_rewrite变量来更改页面的重写规则。此变量是一个包含所有页面规则的数组。
function custom_page_rewrite_rules($page_rewrite) {
// 添加自定义规则
$custom_rule = array(
'custom-page/([^/]+)/?$' => 'index.php?pagename=custom-page&custom_var=$matches[1]'
);
$page_rewrite = $custom_rule + $page_rewrite;
// 修改现有规则
$page_rewrite['existing-page/([^/]+)/?$'] = 'index.php?pagename=existing-page&existing_var=$matches[1]';
return $page_rewrite;
}
add_filter('page_rewrite_rules', 'custom_page_rewrite_rules');
在上述示例中,我们添加了一个名为custom-page的自定义页面,并为其添加了一个自定义规则。我们还修改了一个名为existing-page的现有页面的规则。
请注意,要使用自定义变量,您需要使用“$matches”数组。例如,上述示例中的“$matches[1]”表示URL中的第一个捕获组。
3. 保存更改:保存并刷新WordPress的重写规则。可以通过登录到WordPress后台,进入“设置”->“固定链接”来完成。没有必要修改任何设置,只需点击“保存更改”。
现在,您的自定义页面应该使用新的重写规则来处理URL。



0 个评论