Allgemeiner WordPress-Linkfilter

Lesezeit: 2 Minuten

alle! Ich muss das Domain-Präfix www hinzufügen, nicht von Hand schreiben, jeder Filter als post_link, page_link, category_link und so weiter – es gibt einen globalen Filter für alle hinzugefügten URLs www. Methoden zum Ändern der allgemeinen Einstellungen in der Site-URL in der Datenbank oder zum Ändern von Optionen oder htaccess – passen einfach nicht. Danke im Voraus für Ihre Antwort.

Wenn Sie es nicht über den wp-admin ändern können, können Sie Folgendes verwenden:

        add_filter( 'post_link', array($this, 'changePermalinks'), 10, 3);
        add_filter( 'page_link', array($this, 'changePermalinks'), 10, 3);
        add_filter( 'post_type_link', array($this, 'changePermalinks'), 10, 3);
        add_filter( 'category_link', array($this, 'changePermalinks'), 11, 3);
        add_filter( 'tag_link', array($this, 'changePermalinks'), 10, 3);
        add_filter( 'author_link', array($this, 'changePermalinks'), 11, 3);
        add_filter( 'day_link', array($this, 'changePermalinks'), 11, 3);
        add_filter( 'month_link', array($this, 'changePermalinks'), 11, 3);
        add_filter( 'year_link', array($this, 'changePermalinks'), 11, 3);

        function changePermalinks($permalink, $post) {

                if ( strpos($permalink, '://www.') ) return $permalink;

                return str_replace('://', '://www.', $permalink);
        }

Gehen Sie in Ihrem Dashboard zu Einstellungen -> Allgemein und die vierte und fünfte Option sollte “WordPress-Adresse (URL)” und “Site-Adresse (URL)” sein. Ändere das http://example.com zu http://www.example.com und es sollte alle Links ändern.

  • Danke für deine Antwort, aber diese Lösung ist nichts für mich.

    – SergeevDMS

    25. Februar 2014 um 16:36 Uhr

  • Okay, kannst du erklären, warum das nicht die Lösung ist?

    – Howli

    25. Februar 2014 um 16:48 Uhr

  • Denn bei unserem Hosting wird diese Option aus dem Admin-Panel entfernt.

    – SergeevDMS

    26. Februar 2014 um 6:23 Uhr

  • 2016 führt dies in functions.php zu einer leeren URL add_filter( 'post_link', array($this, 'changePermalinks'), 10, 3);function changePermalinks($permalink, $post) { $search = array('#devauthor#is','#author#is'); $replace = array('www','www'); $thePermalink = preg_replace($search, $replace, $permalink); return $thePermalink; }

    – Roberthuttinger

    25. März 2016 um 15:05 Uhr


  • ^ Wenn nicht im Objektkontext, sollte es nicht verwendet werden $this Stichwort. So wird es sein add_filter( 'post_link' , 'changePermalinks') im Gegensatz zu add_filter( 'post_link' , array($this, 'changePermalinks'))

    – Joe Schnalle

    14. Juli 2017 um 10:35 Uhr


1383200cookie-checkAllgemeiner WordPress-Linkfilter

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy