URL Rewrite – Seitenarchiv

Ich versuche, eine benutzerdefinierte URL-Neuschreibung an Ort und Stelle zu erstellen, die jedoch Probleme aufweist.

Ich habe eine Seite namens “Programm”, die eine benutzerdefinierte Abfrage verwendet, um einen Post-Typ namens “Ereignis” aufzulisten. Ich würde gerne eine Monats- und Tagesvariable in der URL übergeben, zB /programme/09/31

Ich verwende dann die Variablen “Monat / Tag”, um die benutzerdefinierte Abfrage zu aktualisieren. (Da sich die Ereignisse über mehrere Tage erstrecken, funktioniert das eingebaute Archiv für ‘Ereignisse’ nicht).

Derzeit versuche ich, die Umschreibeergebnisse in eine 404-Datei einzufügen. Kann ich die eingebauten Variablen ‘m’ und ‘d’ verwenden oder muss ich neue URL-Variablen registrieren?

Vielen Dank,

Ian.

Solutions Collecting From Web of "URL Rewrite – Seitenarchiv"

Sie müssen folgende zwei functionen in theme functions.php oder in der PHP-Datei eines Plugins hinzufügen

 function func_rewrites_init(){ add_rewrite_rule( 'programme/(\d+)/(\d+)/?$', 'index.php?pagename=programme&pmonth=$matches[1]&pdate=$matches[2]', 'top' ); } add_action('init', 'func_rewrites_init'); function func_query_vars( $query_vars ){ $query_vars[] = 'pmonth'; $query_vars[] = 'pdate'; return $query_vars; } add_filter( 'query_vars', 'func_query_vars' ); 

pagename im obigen Code muss dem Vorlagennamen entsprechen. Wenn Sie eine Page mit dem Namen der Slug- programme wird page-programme.php . In dieser Vorlagendatei können Sie auf Monat und Datum zugreifen

 $pmonth = get_query_var('pmonth'); $pdate = get_query_var('pdate'); 

Eine wichtige Sache von doc :

WICHTIG: Vergessen Sie nicht, die rewrite-Regeldatenbank zu bereinigen und neu zu generieren, nachdem Sie die Regeln geändert haben. Wählen Sie in WordPress Administration Screens Einstellungen -> Permalinks und klicken Sie einfach auf Änderungen speichern, ohne Änderungen vorzunehmen.