Php WordPress URL路由查询字符串不';没有通过

Php WordPress URL路由查询字符串不';没有通过,php,wordpress,woocommerce,url-rewriting,url-routing,Php,Wordpress,Woocommerce,Url Rewriting,Url Routing,我有WordPress主题、Woocommerce和自定义帖子类型 产品url看起来像http://www.[domain].com/product/intel/?model\u id=1234。 我们希望http://www.[domain].com/intel-core-i7-9700 所以我试着: function my_rewrite_rules() { global $wp_rewrite; add_rewrite_rule('^intel-core-i7-9700

我有WordPress主题、Woocommerce和自定义帖子类型

产品url看起来像
http://www.[domain].com/product/intel/?model\u id=1234
。 我们希望
http://www.[domain].com/intel-core-i7-9700

所以我试着:

function my_rewrite_rules()
{ 
  global $wp_rewrite;     
  add_rewrite_rule('^intel-core-i7-9700/?$','product/intel/?model_id=1234','top');

}
add_action('init', 'my_rewrite_rules');

function my_query_vars($vars)
{   
  $vars[] = 'model_id';
  return $vars;
}
add_filter('query_vars', 'my_query_vars');
如果我调用url
http://www.[domain].com/intel-core-i7-9700
由于查询参数
model\u id
未被传递,因此我获得了没有英特尔详细信息的英特尔产品页

我试过:

$model_id = (isset($wp_query->query_vars['model_id'])) ? $wp_query->query_vars['model_id'] : false;
$model_id = (isset(get_query_var('model_id'))) ? get_query_var('model_id') : false;
我刷新了重写规则,但“model_id”不存在。有什么建议吗


非常感谢。

非常抱歉,解决方案非常简单

function my_query_vars($vars)
{   
  $vars[] .= 'model_id';
  $vars[] .= 'product';
  return $vars;
}
add_filter('query_vars', 'my_query_vars');

只是一个想法,但您很可能需要使用