1

カスタム投稿のデフォルト言語を設定します。ポッドでカスタム投稿を作成し、WPML プラグインをインストールしました。このカスタム投稿をウェブサイトのデフォルト言語ではない言語でのみ表示して、URL がhttp://example.com/en/postnameではなくhttp://example.com/postnameになるようにします。このため、これらのカスタム投稿の新しい投稿を作成するときに、デフォルトの言語をウェブサイトのデフォルトの言語ではなく英語にする必要があります。それ以外の場合は、投稿ごとに投稿のデフォルト言語を毎回変更する必要があります。カスタム投稿にウェブサイト以外のデフォルト言語を設定するにはどうすればよいですか?

4

2 に答える 2

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

  }
于 2017-02-22T18:21:22.887 に答える
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' );
于 2016-06-05T22:01:42.167 に答える