Как я могу показать список пользовательских типов записей на разных языках, используя плагин WPML?

В файле functions.php Я создал пользовательскую категорию

$labels = array(
'name' => _x('Partners', 'post type general name'),
'singular_name' => _x('Partners', 'post type singular name'),
'add_new' => _x('Add New', 'partners'),
'add_new_item' => __("Add New Partners"),
'edit_item' => __("Edit Partners"),
'new_item' => __("New Partners"),
'view_item' => __("View Partners"),
'search_items' => __("Search Partners"),
'not_found' =>  __('No partners found'),
'not_found_in_trash' => __('No partners found in Trash'),
'parent_item_colon' => ''
);
$args = array(
'labels' => $labels,
'public' => true,
'publicly_queryable' => true,
'show_ui' => true,
'menu_icon' => 'dashicons-groups',
'query_var' => true,
'rewrite' => true,
'capability_type' => 'post',
'hierarchical' => false,
'menu_position' => null,
'supports' => array('title','thumbnail','excerpt', 'editor')
);
register_post_type('partners',$args);

В шаблоне Партнера я написал:

<?php
$args = array(
'posts_per_page' => -1,  // Get all posts
'post_type' => 'partners',  // Query for the default Post type
'order_by' => 'post_date'  // Order by date posted
);
$last_five_posts = get_posts( $args );foreach ( $last_five_posts as $post ) : setup_postdata( $post );?>

И это прекрасно работает. На странице отображаются все сообщения, которые я редактировал в пользовательской категории.

Проблема вышла с переводом. Я использую плагин WMPL, я использую два языка: итальянский и английский. Страница партнеров показывает мне оба языка:

Итальянская страница:

  • сообщение ORIGINAL1

  • сообщение переведено1

  • сообщение ORIGINAL2

  • сообщение переведено2

Английская страница:

  • сообщение ORIGINAL1

  • сообщение переведено1

  • сообщение ORIGINAL2

  • сообщение переведено2

Я думаю, что проблема в коде, я что-то упустил.

Вы знаете, как это исправить?

1

Решение

Поддержка ответила мне. В шаблоне партнера вместо использования функции get_posts () мне пришлось использовать класс WP_Query:

<?php
$args = array(
'posts_per_page' => -1,  // Get all posts
'post_type' => 'partners',  // Query for the default Post type
'order_by' => 'post_date'  // Order by date posted
);
$last_five_posts = new WP_Query( $args );if( $last_five_posts->have_posts() ): while( $last_five_posts->have_posts() ) : $last_five_posts->the_post();
?>

[/ NOEDIT]

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]