Rewrite rule für WordPress Seite einrichten
-
Hallo Zusammen,
ich versuche derzeit auf meinem lokalen Server (daher kein Link zur Webseite möglich) eine Rewrite Rule ans Leben zu bringen. Komme da aber irgendwie nicht ans Ziel.
Ich verwende derzeit ein php Programm, welches mir folgende Link
auf meiner Übersichtsseite erstellt.https://lokaldrive:8081/WordPress/product-overview/?referenz=1&productid=0
Hierbei wird der Parameter ?referenz für eine Produktgruppe verwendet und die productid ist für das jeweilige Produkt zuständig. Bei 0 => Übersicht.
Innerhalb von WordPress habe ich für Permalinks:
Beitragsnamen: https://lokaldrive:8081/WordPress/beispielbeitrag/
eingestellt.Ich hätte jetzt gerne entsprechend der Seite, welche ich
in WordPress aufrufe und wo ich meinen Shortcode einfüge folgende
Struktur.https://lokaldrive:8081/WordPress/beispielbeitrag/gruppe/product
Ich verwende hierbei das Basis Plugin „Boilerplate“ und habe folgenden Code bis jetzt eingefügt. Mein Plugin heisst hierbei „Content-Finder“.
includes/class-content-finder.php
Fkt:define_public_hooks() { $this->loader->add_action( 'init', $plugin_public, 'rewriterules_init' ); /* for the rewrite rules needed */ $this->loader->add_action( 'template_redirect', $plugin_public, 'product_redirect', 0 ); /* for the rewrite rules needed */ }
public/class-content-finder-public.php
fkt:public function rewriterules_init(){ add_rewrite_rule( 'product/([^/]+)/?$', 'index.php?referenz=$matches[1]&productid=$matches[2]', 'top' ); add_rewrite_tag('%product%','([^/]*)'); }
und
function product_redirect(){ $product_query = get_query_var( 'product' ); if( ! empty( $product_query ) ){ $link=get_permalink(get_page_by_path("product-overview"))."?referenz=".$product_query['referenz']."&productid=".$product_query['productid']; if( ! empty( $link ) ){ wp_redirect( $link ); die(); } else{ wp_redirect( home_url() ); die(); } } }
Wenn ich jetzt innerhalb meines Programmes eine entsprechende Webseite
aufmache, wird weiterhin
https://lokaldrive:8081/WordPress/product-information/?referenz=1&productid=1
verwendet.Ich denke mal, das ich generell hier noch einen Fehler mache. Finde ihn aber nicht. Würde die URL, wenn ich
https://lokaldrive:8081/WordPress/product-information/?referenz=1&productid=1
aus meinem php Programm aufrufe, der Webserver automatisch
die URL ändern in ../gruppe/product oder ist bereits Aufgabe meines
php Programmes ?So richtige Beispiele habe ich hierzu nicht gefunden, meist nur mit einem Parameter.
Für jede Hilfe bin ich dankbar.
Viele Grüße
R.
- Du musst angemeldet sein, um auf dieses Thema zu antworten.