代码之家  ›  专栏  ›  技术社区  ›  Wildcat0927

如何通过页面碎片触发WordPress主题翻译?

  •  0
  • Wildcat0927  · 技术社区  · 2 年前

    我想翻译一些主题字符串。我可以使用URL参数触发翻译。

    add_filter('locale', 'change_locale_param');
    function change_locale_param($locale){
        if(isset($_GET['lang'])){
            return sanitize_text_field($_GET['lang']);
        }
        return $locale;
    }
    

    但是,我想根据页面是否是带有slug的页面的后代来执行此操作 es

    我尝试了这种方式,它更改了 html 标签

    add_filter('locale', 'change_locale_slug');
    function change_locale_slug($locale){
        $es = get_id_by_slug('es');
        $en = get_id_by_slug('en');
        
        if(is_page('es') || is_child_of($es)){
            return 'es';
        }
        elseif(is_front_page() || is_child_of($en) || !has_post_parent()){
            return 'en';
        }
        return $locale;
    }
    

    有办法做到这一点吗?URL参数是如何触发翻译的?我如何复制这种行为?

    奇怪的是,翻译出现在页面上 /es/contacto/ 但不在,比如, /es/ /es/politica-de-privacidad/

    0 回复  |  直到 2 年前
    推荐文章