You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress多语言站点PHP修改页脚版权失效求助

解决Botiga主题多语言页脚版权文本修改问题

问题排查方向

  1. 确认过滤器钩子名正确性
    打开Botiga主题的footer.php文件,查找是否存在apply_filters('botiga-credits', $默认文本)的代码,确保钩子名拼写完全一致(注意连字符、大小写)。如果钩子名错误,代码自然无法生效。

  2. 验证当前语言值的格式
    get_bloginfo('language')返回的格式可能因多语言插件不同而变化:

    • WordPress原生多语言功能返回en-US、de-DE这类格式
    • WPML插件通常用短码标识(如en、de),需用ICL_LANGUAGE_CODE获取
    • Polylang插件则用pll_current_language()获取短码

    可以先临时添加日志代码,确认实际返回值:

    add_filter('botiga-credits','socket_per_language');
    function socket_per_language(){ 
        // 将当前语言值写入日志,可在wp-content/debug.log查看
        error_log( '当前语言标识:' . get_bloginfo('language') );
        
        $currentlang = get_bloginfo('language');
    
        if($currentlang=="en-US") {
            $output = "your custom text in English";
        } elseif($currentlang=="de-DE") {
            $output = "your custom text in German";
        } else {
            $output = "your custom text in Dutch";
        }
        return $output;
    }
    

适配多语言插件的修正代码

适配WPML插件

add_filter('botiga-credits','socket_per_language');
function socket_per_language(){ 
    // 优先使用WPML的语言标识
    $currentlang = function_exists('ICL_LANGUAGE_CODE') ? ICL_LANGUAGE_CODE : get_bloginfo('language');

    switch($currentlang) {
        case 'en':
        case 'en-US':
            $output = "your custom text in English";
            break;
        case 'de':
        case 'de-DE':
            $output = "your custom text in German";
            break;
        default:
            $output = "your custom text in Dutch";
            break;
    }
    return $output;
}

适配Polylang插件

add_filter('botiga-credits','socket_per_language');
function socket_per_language(){ 
    $currentlang = function_exists('pll_current_language') ? pll_current_language() : get_bloginfo('language');

    switch($currentlang) {
        case 'en':
        case 'en-US':
            $output = "your custom text in English";
            break;
        case 'de':
        case 'de-DE':
            $output = "your custom text in German";
            break;
        default:
            $output = "your custom text in Dutch";
            break;
    }
    return $output;
}

注意事项

  • 代码需添加到当前主题的functions.php文件末尾,或使用自定义功能插件(避免主题更新导致代码丢失)
  • 若使用WordPress原生多语言,确保站点设置中语言格式与代码中的判断值一致

内容的提问来源于stack exchange,提问作者sara97

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 13:55:13