首页 > 解决方案 > 如何在 wordpress 中翻译自定义分类法

问题描述

我想知道是否有任何方法可以在前端翻译 wordpress 自定义分类法?

我的想法是在某个点(在我的 functions.php 中)截取分类法的呈现,然后呈现存储在数组或 JSON 或 txt 文件中的翻译后的字符串。我不喜欢使用任何插件。

欢迎您的评论和回答。谢谢。

标签: wordpresstranslationtaxonomy

解决方案


add_filter('get_term', 'change_term_name_at_front', 10, 2);

function change_term_name_at_front($term, $taxonomy) {
    //only for frontend
    if( is_admin() ) {
        return $term;
    }
    
   $new_names_array = array(
    "taxonomy_id" => "New name",
    "taxonomy_id2" => "New name2",
   );
   

   if ($taxonomy == 'your_taxonomy_name') {

            $new_name = $new_names_array[$term->term_id];

            if ($new_name !="") {
                $term->name = $new_name;
            }
        
   }

    return $term;
}

如果您已经有 ACF 插件,您可以在分类中添加一个附加字段并在其中写入新名称,而不是使用数组。

add_filter('get_term', 'change_term_name_at_front', 10, 2);

function change_term_name_at_front($term, $taxonomy) {
    //only for frontend
    if( is_admin() ) {
        return $term;
    }

   if ($taxonomy == 'your_taxonomy_name') {

            $key_field_acf = "yourtax_" . $term->term_id; 

            $new_name = get_field( 'new_name', $key_field_acf );

            if ($new_name !="") {
                $term->name = $new_name;
            }

   }

    return $term;
}

推荐阅读