WPML vi permette di utilizzare URL unici per il contenuto personalizzato nelle diverse lingue. Ciò comprende la traduzione del campo dati dinamico dei post e del nome del tipo di post personalizzato.

Gli URL dei tipi di post personalizzati comprendono il nome del tipo di post e il nome della pagina. Solitamente i tipi di post personalizzati nelle diverse lingue hanno il seguente aspetto:

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

La prima parte dell’URL, in grassetto, è il tipo di post. Il secondo tipo è il nome della pagina.

Per tradurre i nomi delle pagine cliccate sul pulsante Modifica vicino al campo del permalink nell’editor dei post. Poiché WPML utilizza un post diverso per ciascuna lingua, potete impostare singolarmente i loro nomi.

Modificare i permalink delle pagine

Il prossimo elemento che dovete tradurre è il nome del tipo di post. Questa operazione richiede maggiore cautela.

Tradurre i nomi dei tipi di post personalizzati

Per consentire a WPML di tradurre i nomi dei tipi di post personalizzati dovete utilizzare il modulo String Translation.

Dichiarare i tipi di post personalizzati in PHP

Se state registrando i tipi di post personalizzati manualmente via PHP, aggiungete le chiamate _x() intorno al nome del campo dati dinamico. WPML raccoglierà queste chiamate e saprà che state traducendo gli URL.

Quando il campo dati dinamico passa per la funzione _x() con il contesto del campo dati dinamico dell’URL, WPML lo rileva e lo registra nella tabella di String Translation.

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

Dichiarare i tipi di post personalizzati con Types

Per definire i tipi di post personalizzati senza PHP potete utilizzare il nostro plug-in Types. Types dichiarerà automaticamente i tipi di post personalizzati, così li potrete tradurre in WPML.

Andate su Types e modificate un tipo di post personalizzato. Se non è abilitato per la traduzione del nome, visualizzerete un link per la schermata di configurazione di WPML:

Types si collega a WPML per configurare la localizzazione dei campi dati dinamici

Abilitare la localizzazione del nome del tipo di post personalizzato in WPML

Andate su WPML->Translation Management->Configurazione contenuto multilingue. Visualizzerete la nuova sezione per la localizzazione dei campi dati dinamici.

L’elenco di controllo per attivare la localizzazione del nome del tipo di post personalizzato è:

1. Rendere traducibile questo tipo di post personalizzato

Impostate il tipo di post personalizzato da tradurre

2. Abilitate la traduzione del campo dati dinamico del sito

Cliccate sulla casella di controllo per consentire la localizzazione dei nomi dei tipi di post di tutto il sito

3. Selezionate di utilizzare diversi campi dati dinamici nelle diverse lingue

Cliccate sulla casella di controllo per consentire la localizzazione di ciascun nome dei tipi di post personalizzati

Ora siete pronti per tradurre i nomi dei tipi di post personalizzati. Inserite le traduzioni, cliccate su Salva e queste appariranno negli URL.

Tradurre gli archivi dei tipi di post personalizzati

Quando registrate manualmente i tipi di post personalizzati, WordPress vi permette di impostare un campo dati dinamico dell’archivio distinto utilizzando:

has_archive

Attualmente WPML non supporta la traduzione dei campi dati dinamici degli archivi dei tipi di post personalizzati quando a questi è stato assegnato un valore diverso da “TRUE”. Tuttavia, supportare presto questi campi è nel nostro “elenco delle cose da fare”. Sentitevi liberi di ricontrollare questa pagina per un aggiornamento su questa funzione.

*Aggiornamento: WPML 3.2 consente a has_archive di essere impostato come stringa. Tuttavia, se il valore della stringa è qualcosa di diverso dalla chiave dei tipi di post personalizzati, l’archivio sarà impostato per default come chiave registrata.

Esempio:


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')

        )

    );

}

Anche se has_archive è stato impostato su “book-archive”, al suo posto WPML utilizzerà “book”. Questo è ciò che visualizzerete nel permalink del post.