2016-10-01 18 views
0

Ich habe eine bestimmte Seite auf meiner Wordpress-Website example.com/download/, dass ich bereits eine Seite für. Ich möchte eine Art PHP-Code hinzufügen, um die folgende Funktionalität zu aktivieren.Wordpress bedingte Permalink

  • Wenn es eine subpath nach den /download/<name> ist, würde Ich mag eine Datei aus einem Verzeichnis auf <name>
  • basierend holen Wenn kein Unterpfad angegeben ist (/download/) Ich mag die Seite anzuzeigen, die bereits
  • geschrieben

Ist dies mit Wordpress Haken/Filter möglich?

Ich habe das Gefühl, es hat etwas mit der WP_Rewrite Klasse zu tun, aber ich bin nicht sicher, was zu schreiben, noch wo es zu setzen, ohne WP oder Thema Updates Abwischen des Code

Antwort

1

Ja, Sie müssen Fügen Sie eine benutzerdefinierte Rewrite-Regel hinzu. Sie können die functions.php Ihres Themes verwenden, um die neue Funktionalität hinzuzufügen.

function custom_rewrite_rule() { 
    add_rewrite_rule('^download\/([^/]+)\/?','your_url_to_the_downloader_file.php?download=$matches[1]','top'); 
} 
add_action('init', 'custom_rewrite_rule', 10, 0); 

, damit es funktioniert, müssen Sie zuerst Admin -> Settings -> Permalinks gehen und auf die Schaltfläche Speichern klicken, um die neue Regel hinzugefügt wird.

+0

Genau das, was ich gesucht habe. Danke –

+0

Ich habe versucht, dies zu integrieren. Ich habe eine Fehlermeldung 'function custom_rewrite_rule() {add_rewrite_rule ('^ download \/([^ /] +) \ /?', '/ Wp-content/download_content/$ stimmt mit [1]', 'top'); } add_action ('init', 'custom_rewrite_rule', 10, 0); Warnung: Headerinformationen - Header, die bereits gesendet wurden (Ausgabe gestartet unter /home/content/20/10282520/html/wp-content/themes/theme-child/functions.php:4) in/home/content/20 nicht geändert werden können /10282520/html/wp-includes/pluggable.php on line 1203' –

+0

Macht nichts. Insgesamt Tippfehler. Das ist, was ich für die Nacht Programmierung ohne Kaffee bekomme :) –

Verwandte Themen