Wordpress自定义发布语言WPML

时间:2014-10-02 17:25:20

标签: php wordpress wpml

您好,我有一个自定义类型的帖子,它有一个翻译。当我调用所有自定义帖子时,我得到的每个项目都是双倍的。有没有办法检查帖子设置为哪种语言?

谢谢

1 个答案:

答案 0 :(得分:0)

我认为这可以帮助你http://wpml.org/faq/how-to-translate-custom-types/

假设您设置了自定义类型帖子,根据wpml:如果您使用的是翻译管理模块,请转到WPML->翻译管理并单击“多语言内容设置”选项卡。否则,如果没有翻译管理模块,您将在WPML->翻译选项下找到这些选项。

编辑:

<?php
  // set up or arguments for our custom query
  $paged = ( get_query_var('page') ) ? get_query_var('page') : 1;
  $query_args = array(
    'post_type' => 'tutorials',
    'posts_per_page' => 5,
    'paged' => $paged
  );
  // create a new instance of WP_Query
  $the_query = new WP_Query( $query_args );
?>

<?php if ( $the_query->have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); // run the loop

//I try to access to the translated object, where ICL_LANGUAGE_CODE specify the language
$translated = icl_object_id($post->ID,'tutorials',ICL_LANGUAGE_CODE);

 ?>
  <article>
    <h1><?php echo get_the_title($translated->ID); ?></h1>
    <div class="excerpt">
      <?php echo get_the_excerpt($translated->ID); ?>
    </div>
  </article>
<?php endwhile; ?>

<?php if ($the_query->max_num_pages > 1) { // check if the max number of pages is greater than 1  ?>
  <nav class="prev-next-posts">
    <div class="prev-posts-link">
      <?php echo get_next_posts_link( 'Older Entries', $the_query->max_num_pages ); // display older posts link ?>
    </div>
    <div class="next-posts-link">
      <?php echo get_previous_posts_link( 'Newer Entries' ); // display newer posts link ?>
    </div>
  </nav>
<?php } ?>

<?php else: ?>
  <article>
    <h1>Sorry...</h1>
    <p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
  </article>
<?php endif; ?>