add_rewrite_rule funktioniert nicht für mich

Ich habe die folgenden Rewrite-Tags definiert:

// ADD REWRITE TAG FOR 'VEHICLE MAKES' add_rewrite_tag('%make%','([^&]+)'); // ADD REWRITE TAG FOR 'BODY STYLES' add_rewrite_tag('%body-style%','([^&]+)'); // ADD REWRITE TAG FOR 'OTHER TOPICS' add_rewrite_tag('%topic%','([^&]+)'); 

Ich versuche, eine benutzerdefinierte Umschreibung für jede von diesen zu erstellen, die auf jede Seite anwenden kann, die die Variablen vorhanden sind.

Ich habe das WP-Beispiel in der Dokumentation ohne Erfolg überarbeitet. Diese Neufassung ist für “Vehicle Makes”.

Ich ziele darauf ab, dass WP Folgendes interpretiert:

 http://example.com/make/abc 

wie

 http://example.com?make=abc 

und das gleiche Muster für

http://example.com?body-style=abc & http://example.com?topic=abc

Ich kann nicht das Folgende zum Arbeiten bringen, egal wie sehr ich es versuche

 add_rewrite_rule('^nutrition/([^/]*)/([^/]*)/?','index.php?page_id=12&food=$matches[1]&variety=$matches[2]','top'); 

Jede und alle Hilfe wird geschätzt!

Solutions Collecting From Web of "add_rewrite_rule funktioniert nicht für mich"

Haben Sie versucht, den dritten Parameter zu diesem Aufruf hinzuzufügen?

add_rewrite_tag( '%make%', '([^/]+)', 'make=' );

Bevor Sie hier eine Frage stellen, versuchen Sie es bitte selbst herauszufinden. Im Fall von WordPress sollten Sie sich zuerst http://codex.wordpress.org/ anschauen.

Die meisten Antworten sind bereits verfügbar.

Der Code, nach dem Sie suchen, ist eine function flush_rewrite_rules () .

Ref: Regeln neu schreiben

Die Art der Verwendung der function add_rewrite_rule ist unten angegeben:

  1. Haken Sie diese function in den init Hook
  2. Verwenden Sie den query_vars Filter, um das neue Rewrite in query_vars verfügbar zu machen

Hier ist das Code-Snippet

 add_action('init', 'my_custom_rewrite_rule'); function my_custom_rewrite_rule() { add_rewrite_rule( 'make/([^/]+)/?$', 'index.php?make=$matches[1]', 'top' ); } add_filter('query_vars', 'my_rewrite_query_var'); function my_rewrite_query_var( $vars ) { $vars[] = 'make'; return $vars; } 

Gehen Sie nun auf die Einstellungsseite Permalink und klicken Sie auf Save Changes , um die Rewrite-Regeln zu löschen.