2016-06-05 9 views
0

사용자 정의 게시 기본 언어를 설정합니다. 포드가있는 사용자 정의 포스트를 만들었고 WPML 플러그인을 설치했습니다. URL이 대신 http://example.com/en/postname이되도록이 사용자 정의 소식을 웹 사이트의 기본 언어가 아닌 언어로만 표시하려고합니다. 기본 언어가 웹 사이트의 기본 언어가 아닌 영어이어야하는 맞춤 게시물의 새 게시물을 만들 때이 기능을 원합니다. 그렇지 않으면 각 게시물에 대한 게시물의 기본 언어를 변경할 때마다 있습니다. 웹 사이트 중 하나보다 맞춤 게시물의 다른 기본 언어를 설정하려면 어떻게해야합니까?사용자 정의 게시 기본 언어 설정

+0

가능한 중복 http://stackoverflow.com/questions/26166165/wordpress-custom-post-language-wpml) – yezzz

+0

특정 사이트에 대해 변경할 수 있습니다. http://wordpress.stackexchange.com/questions/131678/how-to-get-posts-in-different-language-from-wpml-plugin – meck373

+0

하지만 URL이 필요합니다/en/postname – user1619177

답변

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; 
    } 

    } 
[워드 프레스 사용자 정의 포스트 언어 WPML] (의
0

functions.php하기 위해 다음과 같은 조치를 추가하고 나는 문제가 해결 될 것입니다 희망 :

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

코드를 따랐습니다. 하지만 작동하지 않습니다. function 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