我在过去几个小时内做了一些搜索,但我找不到有效的解决方案;所以这里什么都没有:
我有一个附加'taxonomies' => array('post_tag')
的自定义帖子类型。我可以正确地将标签添加到此自定义帖子类型的项目中,甚至可以在archive.php(/tags/{tagname}
)中找到这些标记的项目。
到目前为止,非常好。
但现在我希望我的"翻译成英文"项目以显示其标签以及(/en/tags/{a different tagname}
)(我不想要我的标签副本,只需要新的非相关标签。
然而;这不起作用!我在英文项目中标记的所有标签都没有出现在我的/ en / tags /页面上(即使我遗漏了/ en / part)也没有出现
在我的自定义帖子类型中,我尝试将has_archive
键更改为以下几项:
'has_archive' => icl_translate('wpml_custom', 'wpml_custom_case',
'case')
一切都无济于事。
简而言之:如何让我的英文标签与我的自定义帖子类型的荷兰语(默认语言)一样工作,以便它们显示在我的档案中?
注册我的帖子类型
function case_post_type() {
$labels = array(
'name' => 'Cases',
'singular_name' => 'Case',
'add_new' => 'Toevoegen',
'add_new_item' => 'Nieuw case toevoegen',
'edit_item' => 'Case bewerken',
'new_item' => 'Nieuwe case',
'all_items' => 'Alle cases',
'view_item' => 'Bekijk case',
'search_items' => 'Zoek case',
'not_found' => 'Geen cases gevonden',
'not_found_in_trash' => 'Geen cases gevonden in de prullenbak',
'menu_name' => 'Cases'
);
$args = array(
'labels' => $labels,
'public' => true,
'publicly_queryable' => true,
'show_ui' => true,
'show_in_menu' => true,
'exclude_from_search' => false,
'query_var' => true,
'rewrite' => array( 'slug' => 'case' ),
'capability_type' => 'page',
'has_archive' => false,
'hierarchical' => false,
'menu_position' => 8,
'supports' => array('title', 'editor', 'excerpt', 'thumbnail', 'page-attributes'),
'menu_icon' => 'dashicons-format-gallery',
'taxonomies' => array('post_tag')
);
register_post_type( 'case', $args );
}
add_action( 'init', 'case_post_type', 0 );
我的Archive.php只有the_loop()
。简单明了。
答案 0 :(得分:0)
我已经解决了这个问题!并不是没有记录;我刚刚标记了很多案例和博客,并认为我的archive.php会因为它们具有相同的标记而同时接收。事实并非如此。
因此,使用pre_get_posts
功能,我可以在存档页面上同时获取案例和帖子:
function wpa_cpt_tags( $query ) {
if ( $query->is_tag() && $query->is_main_query() ) {
$query->set( 'post_type', array( 'post', 'case' ) );
}
}
add_action( 'pre_get_posts', 'wpa_cpt_tags' );