Mit WPML können Sie einzigartige URLs für benutzerdefinierten Inhalt in verschiedenen Sprachen erstellen. Dazu gehört die Übersetzung des Beitrags-Slugs sowie des Namens des benutzerdefinierten Beitragstyps.

Zu den URLs für benutzerdefinierte Beitragstypen gehören der Name des Beitragstyps und der Seitenname. Für gewöhnlich sehen benutzerdefinierte Beitragstypen in anderen Sprachen so aus:

  • /houses/my-green-house/
  • /casas/mi-casa-verde/

Der erste Teil der URL, in fett, ist der Beitragstyp. Der zweite Typ ist der Seitenname.

Um Seitennamen zu übersetzen, klicken Sie auf den Bearbeiten-Button neben dem Permalink-Feld im Beitrags-Editor. Da WPML für jede Sprache einen anderen Beitrag benutzt, können Sie die Namen individuell einstellen.

Bearbeitung von Seiten-Permalinks

Als nächstes müssen Sie den Namen des Beitragstyps übersetzen. Dies erfordert etwas mehr Sorgfalt.

Übersetzung der Namen benutzerdefinierter Beitragstypen

Um es WPML zu erlauben, die Namen benutzerdefinierter Beitragstypen zu übersetzen, müssen Sie das String Translation-Modul verwenden.

Definieren benutzerdefinierter Beitragstypen in PHP

Wenn Sie benutzerdefinierte Beitragstypen manuell über PHP registrieren, fügen Sie _x()-Befehle um den Slug-Namen herum hinzu. WPML erhält diese Befehle und weiß, dass Sie URLs übersetzen.

Wenn der Slug die _x()-Funktion mit dem Kontext URL-Slug durchgeht, erkennt WPML dies und registriert es in der String Translation-Tabelle.

'slug' => _x( 'book', 'URL slug', 'your_text_domain' )

Definierten benutzerdefinierter Beitragstypen mit Types

Um benutzerdefinierte Beitragstypen ohne PHP zu definieren, können Sie unser Types-Plugin verwenden. Types definiert automatisch benutzerdefinierte Beitragstypen, damit Sie diese in WPML übersetzen können.

Gehen Sie auf Types und bearbeiten Sie einen benutzerdefinierten Beitragstyp. Wenn dieser nicht für Namensübersetzung aktiviert ist, sehen Sie einen Link zu WPMLs Einrichtungsbildschirm:

Types verlinkt auf WPML zur Einrichtung der Slug-Lokalisierung

Aktivierung der Lokalisierung von Namen benutzerdefinierter Beitragstypen in WPML

Gehen Sie als nächstes auf WPML -> Translation Management -> Einrichtung mehrsprachiger Inhalte. Sie sehen den neuen Bereich zur Lokalisierung von Slugs.

Die Checkliste zur Aktivierung der Lokalisierung von Namen benutzerdefinierter Beitragstypen:

1. Machen Sie den benutzerdefinierten Beitragstyp übersetzbar

Stellen Sie den benutzerdefinierten Beitragstyp auf Übersetzen ein

2. Aktivieren Sie Slug-Übersetzung für die Seite

Klicken Sie auf das Kontrollkästchen, um lokalisierte Beitragstyp-Namen für die gesamte Seite zu erlauben

3. Wählen Sie aus, dass in verschiedenen Sprachen verschiedene Slugs benutzt werden sollen

Klicken Sie auf das Kontrollkästchen, um die Lokalisierung aller Namen benutzerdefinierter Beitragstypen zu erlauben.

Jetzt sind Sie bereit, die Namen benutzerdefinierter Beitragstypen zu übersetzen. Geben Sie deren Übersetzungen ein, klicken Sie auf Speichern, dann sollten sie in URLs erscheinen.

Übersetzung benutzerdefinierter Beitragstyparchive

Wenn Sie benutzerdefinierte Beitragstypen manuell registrieren, können Sie in WordPress einen eigenen Archiv-Slug einstellen, nutzen Sie dazu:

has_archive

Aktuell unterstützt WPML die Übersetzung von benutzerdefinierten Beitragstyparchiv-Slugs nicht, wenn diese einen anderen Wert als „TRUE“ haben. Dies steht jedoch schon bald auf unserer Todo-Liste der zu unterstützenden Funktionen. Schauen Sie bald wieder hier vorbei, um Neues über diese Funktion zu erfahren.

*Update: In WPML 3.2 kann has_archive bei einem String eingestellt werden, wenn der Stringwert sich jedoch von dem benutzerdefinierten Beitragstypschlüssel unterscheidet, nutzt das Archiv per Voreinstellung den registrierten Schlüssel.

Beispiel:


add_action( 'init', 'create_post_type' );

function create_post_type() {

    register_post_type( 'book',

        array(

            'labels' => array(

                'name' => __( 'Books', 'textdomain' ),

                'singular_name' => __( 'Book', 'textdomain' )

            ),

            'public' => true,

            'has_archive' => __( 'book-archive', 'textdomain' ),

            'publicly_queryable' => true,

            'exclude_from_search' => false,

            'show_ui' => true,

            'show_in_menu' => true,

            'query_var' => true,

            'rewrite' => array('slug' => _x( 'book', 'URL slug', 'textdomain' )),

            'supports' =>array('title','editor', 'custom-fields','thumbnail')

        )

    );

}

Obwohl has_archive auf „buch-archiv“ eingestellt ist, wird WPML stattdessen „buch“ benutzen. Dies sehen Sie im Permalink des Beitrags.