Warum streift WordPress meine Abfrage var noch ab?

Ich versuche, eine Abfrage Var an eine benutzerdefinierte Seite Vorlage mit hübschen Permalinks übergeben.

Also im Grunde habe ich eine Seite namens “Alben”. Und ich möchte eine Abfrage var an diese Seite namens “type” übergeben. Also wäre die nicht-schöne Version mywebsite.com/index.php?p=97&type=vinyl

die “hübsche” Version wäre die mywebsite.com/albums/vinyls

Und die Vorlage muss dann diese Variable abrufen (zB Vinyls)

Ich habe den ganzen Tag viel darüber gelesen, kann es aber immer noch nicht zur Arbeit bringen. Also hatte ich gehofft, dass eine freundliche Seele mir helfen würde.

Also füge zuerst das Umschreiben meiner functions.php hinzu:

function addrewrite() { add_rewrite_rule( '^albums/([^/]+)/?$', 'index.php?p=97&type=$matches[1]', 'top' ); } add_action('init', 'addrewrite'); 

Dies scheint zu funktionieren, wie ich es sehen kann, wenn ein var_dump von allen Neuschrieben erhalten wird.

Wenn ich nun einen Test mache und mywebsite.com/albums/vinyl in meinen Browser tippe, streicht wordpress das letzte Bit “Vinyl” weg. Ich lese ein paar Orte, dass dies ist, weil ich die Abfrage var auch registrieren muss. Also habe ich das mit folgendem Code gemacht:

 add_filter('query_vars', 'add_my_var'); function add_my_var($public_query_vars) { $public_query_vars[] = 'type'; return $public_query_vars; } 

Dann löschte ich die Permalinks durch Drücken von Speichern in den Einstellungen -> Permalinks , aber WordPress streift immer noch meine URL.

Was fehlt mir hier?

Solutions Collecting From Web of "Warum streift WordPress meine Abfrage var noch ab?"