WordPress permalink все еще не работает (ошибка или непонятная?)

После нескольких часов в понимании wordpress permalinks я отчаиваюсь и надеюсь, что кто-то может помочь.

У меня есть следующая ссылка:

www.mysite.com/?page_id=923&bahn=BER 

После активации постоянных ссылок ссылка становится

www.mysite.com/data/rink?bahn=BER

Все идет нормально. Но моя цель – иметь такую ​​ссылку:

 www.mysite.com/data/rink/BER 

Поэтому я включил следующий код в свои функции. Php

 add_filter( 'query_vars', 'add_custom_page_variables' ); function add_custom_page_variables( $public_query_vars ) { $public_query_vars[] = 'bahn'; return $public_query_vars; } add_action( 'init', 'wpa5413_init' ); function wpa5413_init() { add_rewrite_rule( 'data/rink/([^/]+)', 'index.php?pagename=rink&bahn=$matches[1]', 'top' ); global $wp_rewrite; $wp_rewrite->flush_rules(); } 

Я проверил это правило с помощью плагина, который показывает, что правило активировано и должно быть правильным. Но это не сработает! При вводе URL он всегда «перенаправляет» на:

 www.mysite.com/data/rink or www.mysite.com/data/rink?bahn=BER 

Может кто-то указать, что не так с моим кодом?

Хорошо, я нашел решение самостоятельно. Я забыл получить доступ к переменной через $ wp_query-> query_vars ['bahn']. Теперь он отлично работает.

НО, к сожалению, URL-адрес по-прежнему неверно показан или переведен в адресную строку браузера. Это всегда показывает мне

 www.mysite.com/data/rink/?bahn=BER 

но я хотел бы видеть

 www.mysite.com/data/rink/BER 

Как это можно реализовать?