尝试为我的WP主题添加功能以根据当前语言切换徽标,

时间:2019-02-01 20:52:33

标签: php wordpress polylang

我正在为此使用Polylang插件。主题仅是双语的,我设法在管理部分中创建了一个面板,用于分别上传已注册到logo_sr和logo_es的徽标。

我现在想在选项表中添加一个变量,其中将包含基于当前语言的徽标URL,该URL应该显示。到目前为止,这是我所做的:

为此,我注册了一个新设置logo_spanski_metar,并使用admin_init进行了调用:

register_setting('spanski-settings-group', 'logo_spanski_metar');

然后我使用以下代码根据当前语言(在这里,存在问题)设置其值:

add_filter('logo_spanski_metar','change_logo');
function change_logo($logo) {
$lang = pll_current_language('locale');
switch ($lang) {
case 'sr_RS':
    $logo = get_option( 'logo_sr') ;
    break;
case 'es_ES':
    $logo = get_option( 'logo_es') ;
    break;
}
return $logo;
}

我知道logo_sr和logo_es设置已正确保存,因为它们在执行此操作时可以正常工作:

<img src="<?php echo get_option('logo_sr') ?>">

但是change_logo()函数混乱了,logo_spanski_metar变量保持为空。

谢谢您的时间。

编辑:我也知道该开关应该正常工作,因为我已经回显了pll_current_language('locale')函数,并且它返回了sr_RS或es_ES。

编辑2:我通过忽略第三个变量并将开关直接放在标头HTML中解决了该问题。如果有人可以指出我做错了什么,我将保持开放状态。

0 个答案:

没有答案