Шаблон архива типов WPML и пользовательских записей
Я использую WPML 3.0.2-A с WordPress 3.8.1
у меня есть пользовательский тип записи определяется следующим образом:
function add_custom_posts(){
$args = array(
'labels' => array(
'name' => __( 'Showcases' ),
'singular_name' => __( 'Showcases' ),
'add_new_item' => __( 'Add New Showcase'),
'edit_item' => __( 'Edit Showcases' ),
'view_item' => __( 'View Showcase' ),
'search_items' => __( 'Search Showcases' ),
'not_found' => __( 'No Showcases found.' ),
'not_found_in_trash' => __( 'No Showcases found in Trash.' )
),
'public' => true,
'has_archive' => 'case-studies',
'menu_position' => 5,
'taxonomies' => array('post_tag'),
'supports' => array( 'title', 'thumbnail', 'editor', 'excerpt', 'page-attributes' ),
'rewrite' => array('slug' => 'case-studies', 'with_front' => false),
'capability_type' => 'post',
'hierarchical' => false,
);
register_post_type('showcases', $args);
}
add_action( 'init', 'add_custom_posts', 100 );
посещение пользовательского архива типов сообщений и одиночных URL-адресов сообщений для языка по умолчанию работает нормально. Например:
/case-studies/
/case-studies/%postname%/
работают отлично и отображают то, что они должны.
однако это не работает для другого языка:
/de/case-studies/
/de/case-studies/%postname%/
как отображение .в PHP шаблон WordPress тема. На самом деле это страница 404, но так как у нас нет 404.php, индекс.используется php.
витрины тип столба сделан переводимым в настройках WPML.
вы знаете, почему это и как это исправить?
4 ответов
нашел этот поток поддержки где они говорят, что нужно изменить следующую строку (в коде):
'has_archive' => 'case-studies',
в:
'has_archive' => icl_translate('wpml_custom', 'wpml_custom_showcases', 'case-studies'),
может быть хорошей идеей попросить официальную поддержку для этого, так как это коммерческое программное обеспечение, и никакая документация не доступна.
Я узнал, в чем проблема.
строка не была переведена в WPML - > String translations
когда я перевел его (case-studies - > de / case-studies), он работал.
на самом деле он работал во всех вариантах - как мой исходный код, так и код, предложенный в ответах.
Я думаю, что это будет работать для вас, просто не хватает каких-то действий :)
'has_archive' => 'case-studies',
to
'has_archive' => icl_translate('wpml_custom', 'wpml_custom_showcases', 'case-studies'),
затем
заходим в Настройки > постоянные ссылки и нажмите "Сохранить".
Дайте мне знать, если это работает отлично.
Ура!