Nach einigem Suchen habe ich dieses Plugin gefunden und kann es wärmstens empfehlen:
AskApache RewriteRules Viewer 3.0. Dieses Plugin listet alle internen Regeln auf, die im Wordpress Core registriert sind - eine bessere Kontrolle über die interne Verarbeitung kann man sich nicht wünschen.
Ausgangslage für diesen Artikel war folgendes Problem: mein neues Plugin ( sollte bald fertig werden ) stellt einen Eventkalender dar - Url: /events/. Sobald man ein Event gewählt hat, wird die gleiche Seite aufgerufen, mit weiteren Informationen - Url: /events/Linkin-Park/. Im normalen Fall würde Wordpress die Seite "Linkin-Park" suchen, die als Oberkategorie "events" hat; da es diese Seite nicht gibt, erscheint ein 404 Fehler.
Das muss nicht sein.
Das Plugin um diese Zeilen erweitern:
// init
function event_plugin_init() {
global $wp;
$pagename = 'events';
$wp->add_query_var( 'artist_name' );
// role
add_rewrite_rule( "$pagename/([^/]+)/?global $wp_rewrite;
$wp_rewrite->flush_rules();quot;, 'index.php?pagename='.$pagename.'&artist_name=$matches[1]', 'top' );
}
add_action( 'init', 'event_plugin_init' );
Jetzt muß Wordpress nur noch angewiesen werden, die Permalinks zu neu zu erstellen:
global $wp_rewrite;
$wp_rewrite->flush_rules();
Im Plugin kann dann auf den Wert in der Url zugegriffen werden:
$artist_name = get_query_var( 'artist_name' );
Auf diese Weise können weitere Parameter, Urls und Regeln definiert werden, die jedes Update von Wordpress überleben und nachher inwandfrei funktionieren.