WPML: wp_query()는 현재 게시물이 아닌 모든 언어의 게시물을 반환합니다.
프랑스어 버전의 페이지에서 사용하든 영어 버전의 페이지에서 사용하든 wp_query()는 사용자 지정 게시물 유형을 현재 언어뿐만 아니라 모든 언어로 반환합니다.Get_posts()도 같은 작업을 수행합니다.
프랑스어로 내 페이지를 방문할 때, 나는 그들이 현재 언어로만 CPT를 돌려주길 원합니다.그것을 어떻게 할 것인가요?
get_posts()를 사용하는 경우 suppress_filters를 false로 설정합니다.
$myPosts = get_posts(array(
'suppress_filters' => false
));
http://codex.wordpress.org/Function_Reference/get_posts#Parameters
그게 내가 WPML을 사용해서 특정 언어에 대한 게시물을 가져오는 가장 좋은 방법입니다.
제 경우에는 특정 언어의 제목으로 게시물을 찾고 게시물의 ID를 반환해야 합니다.
$lang='en';
$title='The title you are searching!';
function getWpIdByTitle($title, $lang){
global $sitepress;
// WPML Super power language switcher...
$sitepress->switch_lang( $lang );
$args = array(
'title' => $title,
'post_type' => 'your-post-type', // Default: post
'post_status' => 'publish',
'suppress_filters' => false,
'numberposts' => 1
);
$wp_query = new WP_Query( $args );
return $wp_query->post->ID;
}
페치 결과로 $wp_query->post를 사용하고 제목, 내용 등의 에코를 수행할 수 있습니다.
이런 식으로 당신이 사용할 필요가 없습니다.
do_action( 'wpml_set_element_language_details', $set_language_args );
당신의 언어 게시물을 연결하기 위해, 둘 다.
icl_object_id(1,'post',false,ICL_LANGUAGE_CODE);
특정 언어로 된 게시물의 ID를 얻는 것입니다.
언급URL : https://stackoverflow.com/questions/28844195/wpml-wp-query-returns-posts-in-all-languages-rather-than-just-current-one
'source' 카테고리의 다른 글
이름을 기준으로 도커 이미지를 제거하는 방법은? (0) | 2023.10.31 |
---|---|
argparse store false(지정되지 않은 경우) (0) | 2023.10.31 |
PowerShell 및 C#의 BigInt 불일치 (0) | 2023.10.31 |
다른 메서드 내부에서 메서드 호출에 대해 스프링 AOP가 작동하지 않습니다. (0) | 2023.10.26 |
스위프트의 사전에서 키의 값을 얻으려면 어떻게 해야 합니까? (0) | 2023.10.26 |