Здравствуйте, мой сайт, я пытаюсь переписать URL-адрес с
HTTP: // локальный / хоккейный oefening / 70 / interceptie-разминочные
в
HTTP: // локальный / хоккейный oefening / oefening = 70?&НА = interceptie-разогрев
Я пытался добавить вручную .htaccess файл. Однако я не получил его на работу. Поэтому я сбросил файл .htaccess и искал другой путь.
Затем я добавил следующий код в мои functions.php
function custom_rewrite_rule() {
add_rewrite_tag('%oefening%', '([^&]+)');
add_rewrite_tag('%naam%', '([^&]+)');
add_rewrite_rule('^hockey-oefening/([^/]*)/([^/]*)?', 'index.php?page_id=563&oefening=$matches[1]&naam=$matches[2]', 'top' );
}
add_action('init', 'custom_rewrite_rule', 10, 2);
Это добавляет правило к массиву $ wp_rewrite, как я могу видеть с
global $wp_rewrite;
print_r($wp_rewrite);
Выход:
[extra_rules_top] => Array
(
[^wp-json/?$] => index.php?rest_route=/
[^wp-json/(.*)?] => index.php?rest_route=/$matches[1]
[^index.php/wp-json/?$] => index.php?rest_route=/
[^index.php/wp-json/(.*)?] => index.php?rest_route=/$matches[1]
[service/?$] => index.php?post_type=services
[service/feed/(feed|rdf|rss|rss2|atom)/?$] => index.php?post_type=services&feed=$matches[1]
[service/(feed|rdf|rss|rss2|atom)/?$] => index.php?post_type=services&feed=$matches[1]
[service/page/([0-9]{1,})/?$] => index.php?post_type=services&paged=$matches[1]
[^hockey-oefening/([^/]*)/([^/]*)?] => index.php?page_id=563&oefening=$matches[1]&naam=$matches[2]
)
Теперь, когда я пытаюсь пойти в
http: // localhost / hockey-oefening / 70 / interceptie-прогрев
Я получаю перенаправление на
http: // localhost / registreren /
Теперь я думал, что мой page_id может быть неправильным, но хоккейная страница имеет идентификатор: 563 и идентификатор страницы регистрации: 11.
Я не могу понять, что я делаю не так. Ребята, у вас есть идеи?
Спасибо.
Попробуйте следующий код
add_filter('query_vars', 'parameter_queryvars' );
function parameter_queryvars( $qvars )
{
$qvars[] = 'oefening';
$qvars[] = 'naam';
return $qvars;
}//rewrite part
function wpse120653_init() {
add_rewrite_rule(
'hockey-oefening(/([^/]+))?(/([^/]+))?/?',
'index.php?pagename=hockey-oefening&oefening=$matches[2]&naam=$matches[4]',
'top'
);
}
add_action( 'init', 'wpse120653_init' );
Надеюсь, что это работает
Других решений пока нет …