自定义帖子类型多语言与Polylang

时间:2017-07-14 08:33:15

标签: wordpress wordpress-theming custom-wordpress-pages polylang

我有这个问题,我现在不知道如何解决。由于Polylang插件,我们有一个多语言的wordpress页面。一切都很好,除了来自其他插件的自定义帖子类型。使用此自定义帖子类型创建的帖子会加载基本语言的内容,这是英语,但每当我们更改语言时,它都会停止工作。它不加载内容

我注册了这样的帖子类型:

register_post_type( 'placement', 
    array(
        'labels' => array(
            'name' => __( 'Placementy' ),
            'singular_name' => __( 'Placement' )
        ),
        'public' => true,
        'menu_icon' => 'dashicons-welcome-write-blog'
    )
);

我试过,在我的functions.php中注册帖子类型而不是插件主文件,仍然是相同的...其他自定义帖子类型工作得很好,他们以相同的方式注册。我也尝试在我的wordpress主题中创建自定义帖子类型的模板,而不是使用插件中的模板,但它也失败了...不知道为什么它不起作用。特别是当其他一切工作。更改后还清除了缓存。检查在开发人员和本地环境中已更改。什么可能导致这种行为?

1 个答案:

答案 0 :(得分:1)

在functions.php中

    add_filter('pll_get_post_types', 'add_cpt_to_pll', 10, 2);
function add_cpt_to_pll($post_types, $hide) {
    if ($hide)
        // hides 'my_cpt' from the list of custom post types in Polylang settings
        unset($post_types['my_cpt']);
    else
        // enables language and translation management for 'my_cpt'
        $post_types['my_cpt'] = 'my_cpt';
    return $post_types;
}

了解更多详情 https://polylang.wordpress.com/documentation/documentation-for-developers/filter-reference/