2016-06-05 13 views
0

Benutzerdefinierte Poststandardsprache festlegen. Ich habe eine benutzerdefinierte Post mit Pods erstellt und ich habe WPML-Plugin installiert. Ich möchte diesen benutzerdefinierten Beitrag nur in einer Sprache anzeigen, die nicht die Standardseite der Website ist, sodass die URLs http://example.com/en/postname anstelle von http://example.com/postname lauten. Dafür möchte ich, wenn ich einen neuen Beitrag dieser benutzerdefinierten Beiträge erstellen, dass ihre Standardsprache Englisch und nicht die Standardsprache der Website sein sollte. Sonst habe ich jedes Mal die Standardsprache des Beitrags für jeden Beitrag zu ändern. Wie kann ich eine andere Standardsprache für den benutzerdefinierten Beitrag als die der Website festlegen?Benutzerdefinierte Poststandardsprache festlegen

+0

Mögliche Duplikat [Wordpress benutzerdefinierte Post Sprache WPML] (http://stackoverflow.com/questions/26166165/wordpress-custom-post-language-wpml) – yezzz

+0

Sie können es für die spezifische Site ändern. http://wordpress.stackexchange.com/questions/131678/how-to-get-posts-in-different-language-from-wpml-plugin – meck373

+0

Aber ich brauche die URL zu sein/en/postname – user1619177

Antwort

0
add_action('save_post', 'my_english_halacha'); 

function my_english_halacha($post_id) { 
$post_type = get_post_type($post_id); 

switch($post_type) 
{ 
case 'english_halacha': 
    $set_language_args = array(
     'element_id' => $post_id, 
     'element_type' => 'post_english_halacha', 
     'language_code' => 'en', 
     'rewrite'   => array('slug' => ((ICL_LANGUAGE_CODE=='en'))), 
     'source_language_code' => 'he', 


    ); 
global $sitepress; 

$sitepress->switch_lang('en'); 
    do_action('wpml_set_element_language_details', $set_language_args); 




break; 

    case 'spanish_halacha': 
    $set_language_args = array(
     'element_id' => $post_id, 
     'element_type' => 'post_spanish_halacha', 
     'language_code' => 'es', 
     'rewrite'   => array('slug' => ((ICL_LANGUAGE_CODE=='es'))  ), 
     'source_language_code' => 'he', 


    ); 
global $sitepress; 

$sitepress->switch_lang('es'); 
    do_action('wpml_set_element_language_details', $set_language_args); 




break; 
    } 

    } 
0

Fügen Sie die folgende Aktion functions.php, und ich hoffe, dass Problem gelöst werden:

function update_post_language($post_id) { 
$post_type = get_post_type($post_id); 
if ($post_type == 'dwqa-question' || $post_type == 'dwqa-answer') { 
    $term = term_exists('ar', 'language'); 
    if ($term !== 0 && $term !== null`enter code here`) { 
     wp_set_post_terms($post_id, array ('ar'), 'language', true); 
    } 
} 
} 
add_action('save_post', 'update_post_language'); 
+0

Ich folgte Ihrem Code aber es funktioniert nicht Funktion update_post_language ($ post_id) { $ post_type = get_post_type ($ post_id); if ($ post_type == 'english_halacha') { $ term = term_exists ('en', 'language'); if ($ term! == 0 && $ term! == null) { wp_set_post_terms ($ post_id, array ('en'), 'language', true); } } } add_action ('save_post', 'update_post_language'); – user1619177