Php Wordpress使用捕获重写规则
我正在尝试为d3可视化创建一个重写规则,我将把它保存在我的主题文件夹中。最终我想要Php Wordpress使用捕获重写规则,php,regex,wordpress,Php,Regex,Wordpress,我正在尝试为d3可视化创建一个重写规则,我将把它保存在我的主题文件夹中。最终我想要 d3/[some-year]/[some-string] 重定向到 wp-content/themes/my-theme/d3-library/[some-year]/[some-string]/index.html 但是,我无法使捕获规则正常工作。以下是我目前掌握的情况: function d3_rewrite() { add_rewrite_rule(
d3/[some-year]/[some-string]
重定向到
wp-content/themes/my-theme/d3-library/[some-year]/[some-string]/index.html
但是,我无法使捕获规则正常工作。以下是我目前掌握的情况:
function d3_rewrite() {
add_rewrite_rule(
'wp-content/themes/d3/(20[0-9][0-9]/.*)',
'wp-content/themes/my-theme/assets/d3-library/$match[1]/index.html',
'top'
);
}
add_action('init', 'd3_rewrite');
有人知道为什么这不起作用吗?如果你有
$match[1]
,那不应该是$matches[1]
?使用wp content/themes/my theme/assets/d3 library/$1/index.html
。问题出在替换回参考中 matches
不起作用,所以我也尝试了match
,因为我在PHP正则表达式教程中看到了它。所以它应该是匹配的,但这并不能解决问题。。。也不知道它是否相关,但您的示例将其替换为d3/[some year]/[some string]
,但规则正在寻找wp content/themes/d3/[some year]/[some string]
,除非我误解了您,否则这不是重写规则的目的吗?这样用户就可以输入类似于blah.com/d3/2015/graph
的东西,并被重定向到类似于blah.com/wp-content/themes/d3-library/2015/graph/index.html
的难看的东西,而根本不需要看到难看的url。是的,但是您编写的重写规则要求他们输入wp-content/themes/…
您可能希望regexp参数是'd3/(20[0-9][0-9]/.*)
而不是'wp-content/themes/d3/(20[0-9][0-9]/.*)
哦,我明白您的意思了。我在文章中不清楚——这是我的最终目标,但我从我提供的代码开始,因为它大大简化了由捕获以外的其他原因导致错误的可能性。不管怎样,@stribizzez的评论解决了这个问题!你试过“wp-content/themes/my-theme/assets/d3-library/$1/index.html”吗?
?效果不错!非常感谢。如果你想把它作为一个答案发布,我会投票给你,把它标记为已解决。快乐编程!