У меня есть тема WordPress, Woocommerce и пользовательские типы сообщений.
URL продукта выглядит как http://www.[domain].com/product/intel/?model_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
, я получу страницу продукта Intel без сведений Intel, потому чтопараметр запроса model_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' не существует. Есть предложения?
Большое спасибо.