wordpress URL重定向函数add_rewrite_rule使用心得

wordpress开发时,经常会遇到后台固定链接的设置不能满足我们对部分自定义页面(Page)或自定义文章类型页面(PostType)的链接设置,那么这时候就可以用到 add_rewrite_rule 为 WordPress 添加自定义重写规则。

add rewrite rule 使用

add_rewrite_rule($regex, $redirect, $after);

add rewrite rule 参数

$regex

(string) (必需) 一个匹配请求 URL 的正则表达式,可是使用一个或多个正则表达式组。
默认:None

$redirect

(string) (必需):真正需要获取的 URL, ($regex 匹配时).。我们可以使用 $matches[] 数组在这里插入捕获获的匹配组。
默认: None

$after

(string) (可选):这可以是 ‘top’ 或 ‘bottom’.。’top’ 将在 WordPress 现有的规则之前优先处理, ‘bottom’ 将在其他规则之后处理。
默认: “bottom”

实际讲解

最近在开发的主题用到了自定义文章类型(register_post_type),于是需要讲该自定义文章类型里的文章固定链接改结构设置为ID.html,通过 post_type_link  设置完成后,打开页面404?于是又通过一番折腾发现,还需要使用 add_rewrite_rule 进行URL重定义才行。

add_action( 'init', 'custom_product_rewrites_init' );
function custom_product_rewrites_init(){
	add_rewrite_rule(
		'product/([0-9]+)?.html$',
		'index.php?post_type=product&p=$matches[1]',
		'top' 
	);
	// 注:其中product为我自定义文章类型的Slug
}
版权声明:小天 发表于 2021年10月14日 下午2:11。
转载请注明:wordpress URL重定向函数add_rewrite_rule使用心得 | 小菜IT

相关文章

暂无评论

暂无评论...