我一直在努力解决 Wordpress URL 重写问题,但我没有运气。
我想做的事:
我构建了一个自定义插件,用户可以在其中从各种选项构建产品。这些选项共同构建了一个代码,该代码引用了客户构建的独特产品。
代码可能类似于140-3-WPA-ABC-2.
该插件将出现在一个专用页面上:
http://wordpress-site/configurator/
我希望具有预先存在代码的客户能够将其输入到 URL 中,如下所示:
http://wordpress-site/configurator/140-3-WPA-ABC-2/
因此,插件获取变量,并使用它来构建正确的产品。
问题
它应该相当简单,但我无法使用 Wordpress URL 重写规则进行任何工作,我什至无法获得任何看似注册为 Wordpress 查询变量的东西。
我一直在主插件初始化代码中尝试以下内容:
add_filter( 'query_vars', 'conf_query_vars' );
add_action( 'init', 'cong_rewrites' );
function conf_query_vars($query_vars){
$query_vars[] = 'product_code';
return $query_vars;
}
function conf_rewrites(){
add_rewrite_rule(
'configurator/([^/]+)/?$',
'index.php?product_code=$matches[1]',
'top'
);
}
如果我然后尝试打开,http://wordpress-site/configurator/140-3-WPA-ABC-2/
我会收到一个找不到页面的错误。回显 query_vars 似乎表明未创建变量“product_code”。
ps 我试过刷新重写缓存。很抱歉交叉发布到 Wordpress.stackexchange.com - 但这里的编程问题似乎更好?