it-swarm.com.de

Mehrsprachiger Permalink in qtranslate

Ich verwende das qtranslate-Plugin für meine WordPress-Site, um sie zu einer mehrsprachigen Site zu machen.

Jetzt habe ich eine Anforderung wie

Für Englisch sollte die URL wie folgt aussehen: www.sitename.com/contact-en Für Französisch sollte die URL wie folgt aussehen: www.sitename.com/fr/contact-fr

Wie kann ich das erreichen? (qTranslate ist das verwendete Plugin)

Hinweis: Es sollte keine Post-ID dazwischen kommen

Laut dem Beitrag in https://wordpress.stackexchange.com/questions/24061/multilingual-permalinks-qtranslate habe ich versucht http://www.3dolab.net/en/qtranslateslug-plugin-widget Aber 'Seite nicht gefunden' Fehler auftreten. Es sieht so aus, als hätte der Autor aufgehört, dieses Plugin gemäß dem 29. Kommentar auf dieser Seite zu verbessern.

4
Beniston

Da das Plugin "qtranslateslug-plugin-widget" auf der Administratorseite zum Speichern von Slugs in der Slug-Tabelle ausgeführt wird, habe ich auf der Benutzerseite meinen eigenen Code eingefügt.

Auf der Seite wp-blog-header.php habe ich kurz vor dem Einfügen der Datei wp-load.php meinen eigenen Code hinzugefügt. Ich habe die URL von $_SERVER['REQUEST_URI'] übernommen und unter Verwendung der darin enthaltenen Informationen und Sprache den Post-Namen abgerufen und den geänderten URI to $_SERVER['REQUEST_URI'] entsprechend zugewiesen.

Zum Beispiel:

Bevor ich bearbeite: $_SERVER['REQUEST_URI'] = '/fr/french-slug';

Nachdem ich bearbeitet habe: $_SERVER['REQUEST_URI'] = '/post-name';

Lassen Sie es mich etwas ausführlicher erklären

  1. Weisen Sie einer Variablen $_SERVER['REQUEST_URI'] zu

  2. Lass die Schnecke mit einem Schrägstrich explodieren (/)

  3. Überprüfen Sie den Slug in der Slug-Datenbanktabelle, den das Plugin "qtranslateslug-plugin-widget" verwendet, und rufen Sie die Post-ID von dort ab

  4. Verwenden Sie nun die Beitrags-ID, um den Beitragsnamen aus der Beitragstabelle zu erhalten.

  5. Implodiere es so, wie ich es im obigen Beispiel gezeigt habe.

  6. Weisen Sie es wieder $_SERVER['REQUEST_URI'] zu

0
Beniston

Bitte werfen Sie einen Blick auf http://wordpress.org/plugins/qtranslate-slug/

Qtranslate ist ein nettes Plugin, aber leider ist es heute veraltet. Qtranslate Slug ist ein Addon zu QTranslate, das Permalink-Übersetzungen unterstützt und einige QTranslate-Mängel seit WordPress 3.0 behebt.

0
leymannx

Öffnen Sie in den qTranslate-Einstellungen im Admin-Bereich die erweiterten Optionen und aktivieren Sie das Optionsfeld für die Verwendung von Sprachpräfixen nach dem Domainnamen. Ich gehe davon aus, dass Sie Französisch in den Spracheinstellungen des Plugins korrekt aufgelistet haben. Sie können Daten erwarten, die danach falsch angezeigt werden. Verwenden Sie die PHP-Datumsfunktion, um dies in Ihren speziellen Spracheinstellungen (Bearbeitungssprache) zu korrigieren. Wie j F. Siehe Primer auf minexrussia.com/2011, wo das ru-Präfix auf die gleiche Weise platziert wird. Um ein Präfix zu vermeiden, wählen Sie Englisch als Standardsprache und aktivieren Sie die Option Erweiterte Optionen, um das Präfix für die Standardsprache nicht anzuzeigen. Ich schlage vor, alle anderen Sprachen außer en und fr in den Plugin-Einstellungen zu entfernen.

0
ommunist