• Hallo,

    ich schreibe gerade momentan ein neues Plugin und leider stehe ich gerade auf den Schlauch :

    PHP
    function wihtml_plugin_init() {
        global $wp;    
        $pagename = 'htmltag';    
        $wp->add_query_var( 'htmltag' );    
        add_rewrite_rule( "$pagename/([^/]+)/?$", 'index.php?pagename='.$pagename.'&htmltag=$matches[1]', 'top' ); 
    }
    
    
    add_action( 'init', 'wihtml_plugin_init' );

    Leider funktioniert es nicht. Habe auch schon die Permalinks mal zwischenzeitig aktualisiert. Leider bekomme ich eine 404 Seite und wenn ich htmltag mmit echo get_query_var abfrage bekomme ich kein Ergebnis.
    Weiß jemand wo mein Fehler ist ?

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Naja sagen wir mal. Ich verstehe es überhaupt nicht ^^. Ich mein wenn ich nun die rewrite_rule hinzugefügt habe. Wie gehts dann weiter ? Natürlich möchte ich das es über die index.php aber woher weiß wordpress nun was er mit der variable pagename anfangen soll ?

    Ich habe folgendes vor.
    ich möchte gerne solche urls haben:
    http://localhost/wordpress/htmltag/br

    Mein Plugin soll html/br auswerten können.
    Jetzt dachte ich mir das ich Wordpress erstmal per add_rewrite_rule Bescheid gebe das es nun htmltag gibt.
    So und nun ? ^^

    Hier mal mein Code mit dem ich mal so ein bißchen getestet habe :

    Habe ich einen Logikfehler? Oder wie gehts nun weiter? Ich finde leider kein gutes Tutorial im Internet.

    Danke im Voraus

    Dennis

  • Hallo,

    habe es mittlerweile selbst hinbekommen.
    Man muss im Theme Ordner eine neue PHP Datei erstellen anhand einer Kopie von der page.php, der Name ist egal.
    Den auskemmentierten Bereich austauschen mit :

    PHP
    /*
    Template Name: htmltag
    */
    ....


    In Admin Bereich erstellt ihr eine neue Page mit dem dementsprechenden Template.

    Dazu braucht ihr für mod_rewrite noch ein dementsprechendes Plugin :

    PHP
    function wihtml_plugin_init() {
        global $wp;    
        $pagename = 'htmltag';    
        $wp->add_query_var( 'htmltag' );    
        add_rewrite_rule( "htmltag/([^/]+)/?$", 'index.php?pagename='.$pagename.'&htmltag=$matches[1]', 'top' ); 
    }
    add_action( 'init', 'wihtml_plugin_init' );

    Den Aufruf konnte ich dann wie folgt durchführen:
    http://localhost/wordpress/htmltag/br
    In der php Datei die ihr nun in den Theme Ordner erstellt habt, könnt ihr nun mit get_query_var( 'htmltag' ); den zusätzlichen Parameter auswerten. In meinem Fall "br".

    Nun kann man mit der einen neuen php im Theme Ordner den Content Inhalt damit verarbeiten.

    Gruß

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!