Um benutzerdefinierte Typen in WordPress mehrsprachig zu machen, müssen Ihre benutzerdefinierten Typen gemäß der folgenden WordPress-Prozedur erklärt werden:

  1. Achten Sie darauf, dass sie im init-Hook registriert sind.
  2. Verwenden Sie für benutzerdefinierte Beitragstypen nie einen GetText-Befehl.
  3. Verwenden Sie immer die Konstanten TRUE und FALSE. 0 und 1 funktionieren eventuell nicht.
  4. Eine vollständige Dokumentation finden Sie im WordPress-Kodex – http://codex.wordpress.org/Function_Reference/register_post_type

Hier ist ein funktionierendes Beispiel, das wir auf unserer eigenen Website verwenden.

<?php
add_action('init', 'icl_theme_register_custom', 0);
function icl_theme_register_custom() {
 register_taxonomy(
 'service_type',
 array('post', 'page'),
 array(
 'hierarchical' => true,
 'label' => 'Servicetyp',
 'query_var' => true,
 'rewrite' => true
 )
 );

 register_post_type( 'testimonial',
 array(
 'description' => __( 'Empfehlungen.' ),
 'labels' => array(
 'name' => __( 'Empfehlungen' ),
 'singular_name' => __( 'Empfehlungen' ),
 'add_new' => __( 'Neue hinzufügen' ),
 'add_new_item' => __( 'Neue Empfehlung hinzufügen' ),
 'edit' => __( 'Bearbeiten' ),
 'edit_item' => __( 'Empfehlung bearbeiten' ),
 'new_item' => __( 'Neue Empfehlung' ),
 'view' => __( 'Empfehlung ansehen' ),
 ...

Dann können Sie auswählen, ob diese benutzerdefinierten Typen übersetzbar sind oder nicht.

Gehen Sie zur WPML -> Einstellungen-Seite und scrollen Sie zum Abschnitt für den benutzerdefinierten Typ, den Sie übersetzbar machen wollen. Zum Beispiel können Sie in den Abschnitt Taxonomien-Übersetzung scrollen.

So machen Sie eine benutzerdefinierte Taxonomie übersetzbar
So machen Sie eine benutzerdefinierte Taxonomie übersetzbar

Wenn benutzerdefinierte Typen übersetzbar sind, haben sie Sprachattribute. Jeder Eintrag erscheint nur für eine konkrete Sprache und sie können diese in andere Sprachen übersetzen.

WPML filtert die Einträge pro Sprache, wenn Sie die WordPress-API-Befehle benutzen, um sie zu laden.

Wenn benutzerdefinierte Typen nicht übersetzbar sind, filtert WPML sie nicht und die Einträge erscheinen für alle Sprachen. Dies ist nützlich, wenn die Daten nicht für jede Sprache einzigartig sind.

Speichern