wake-up-neo.net

Entfernen der Umleitung nach dem Ändern des Slugs einer Seite

Auf einer meiner Seiten habe ich den Slug geändert, um eine andere URL zu bilden. Z.B.

Alt: http://example.com/old-slug

Neu: http://example.com/new-slug

WordPress hat es geschafft, http://example.com/old-slug nach http://example.com/new-slug umzuleiten.

Ich möchte dieses Verhalten entfernen, da ein von mir verwendetes Plugin den fraglichen Slug verwendet und die Umleitung sein Verhalten überschreibt.

Ich habe diese Frage überprüft und in meiner wp_postmeta-Tabelle nach _wp_old_slug-Instanzen gesucht, aber es wird nichts zurückgegeben. Mein Server ist Nginx, sollte also nicht von .htaccess-Dateien betroffen sein.

Kann ich noch etwas tun, um diese Umleitung zu entfernen?

3
harryg

Dies (in deinem functions.php) schaltet es aus (aber siehe auch den Kommentar, den ich hinterlassen habe):

remove_action('template_redirect', 'wp_old_slug_redirect');

Es scheint seltsam, dass Ihre wp_postmeta -Tabelle keine _wp_old_slug -Schlüssel hat - das Codebit, das in wp-includes/query.php enthalten ist (wp_old_slug_redirect ()) - Sie können dort eine Exit- oder Debug-Anweisung hinzufügen, um zu überprüfen, ob es aufgerufen wird.

Denken Sie auch daran, dass WordPress, wenn es keinen Permalink findet, nach Posts mit einem passenden Anfang sucht, z. Wenn du einen Beitrag mit Permalink/foobar hattest, dann wird/foo zu ihm umleiten.

5
William Turrell

das hat bei mir geklappt:

   remove_filter('template_redirect', 'redirect_canonical');  

quelle: http://biostall.com/prevent-wordpress-redirecting-to-nearest-matching-url/

2
Faiyaz Alam

Um automatische Weiterleitungen nach einem Bugswechsel manuell zu entfernen, löschen Sie einfach die entsprechenden Zeilen unter "wp-redirection-items" mit phpMyAdmin aus der Datenbank.

Dies ist die beste und einfachste Methode, mit der Sie Weiterleitungen für bestimmte Posts entfernen können. Weitere Details finden Sie hier http://couponnexus.com/remove-wordpress-redirects-changing-slug/

0
Lithin

Was geholfen hat, war das Zurücksetzen der Permalinks. Gehe einfach zu Settings -> Permalinks, wähle Standard aus und drücke Save Changes. Wählen Sie dann Ihre Struktur und drücken Sie erneut Save Changes.

0
Kęstutis

Jeder WordPress-Beitrag hat einen eigenen Slug, der automatisch durch den Titel Ihres Beitrags generiert wird. Wenn Sie sich entscheiden, den Post-Slug später zu ändern, merkt sich WordPress den alten und leitet ihn zum neuen um. Sie können die Umleitung alter Post-Slugs in WordPress verhindern, indem Sie mit einem kleinen Snippet einige Aktionen aus Ihrem WordPress-Kern entfernen.

Fügen Sie einfach den folgenden Code zur Datei functions.php Ihres aktuellen Themas hinzu, um zu verhindern, dass WordPress alte Post-Slugs zu neuen umleitet:

remove_action( 'template_redirect', 'wp_old_slug_redirect'); 
remove_action( 'post_updated',      'wp_check_for_changed_slugs', 12, 3 );
0
Avinash Singh