设置自定义帖子默认语言。我创建了一个带有 pod 的自定义帖子,并安装了 WPML 插件。我只想以不是网站默认语言的语言显示此自定义帖子,以便网址为http://example.com/en/postname而不是http://example.com/postname。为此,我希望当我为这些自定义帖子创建新帖子时,它们的默认语言应该是英语而不是网站的默认语言。否则,我每次都必须为每个帖子更改帖子的默认语言。如何为自定义帖子设置另一种默认语言而不是网站的默认语言?
问问题
494 次
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 回答