首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于语言的wp显著主题社交媒体

基于语言的wp显著主题社交媒体
EN

Stack Overflow用户
提问于 2018-02-26 14:56:43
回答 1查看 232关注 0票数 0

我使用的是突出的主题,它似乎不支持基于当前语言的不同社交媒体。

为了解决这个问题,我修改了wp-content/themes/salient/nectar/redux-framework/options-config.php以添加此功能。

我用来检测语言

代码语言:javascript
复制
   $my_current_lang = apply_filters( 'wpml_current_language', NULL );

并像这样更改了facebook的配置数组:

代码语言:javascript
复制
// for the checkbox
array( 
            'id' => 'use-facebook-icon-'.$my_current_lang,
            'type' => 'checkbox',
            'title' => __('Use Facebook Icon', NECTAR_THEME_NAME), 
            'subtitle' => '',
            'desc' => ''
        )
//for the url input field
array(
            'id' => 'facebook-url-'.$my_current_lang, 
            'type' => 'text', 
            'title' => __('Facebook URL', NECTAR_THEME_NAME),
            'subtitle' => __('Please enter in your Facebook URL.', NECTAR_THEME_NAME),
            'desc' => ''
        ),

独立工作与预期一样,我遇到的问题是,每当我将社交媒体设置为"en“时,它就会用空值覆盖"fr”的配置,反之亦然。

因此,我想我必须找到一种方法来禁用覆盖。

有没有其他的wa可以做到这一点?使用wpml做这件事是第一个选择,但找不到一种方法来让复选框具有不同的值。

EN

回答 1

Stack Overflow用户

发布于 2018-02-26 15:17:26

只需根据您的版本在footer.php文件中147行附近进行修改。否则,当您更新核心主题时,您所做的更改将被覆盖。您可以向这行添加一些逻辑,我从该行中剪切并粘贴这些逻辑。我不能对此进行测试,因为我没有WPML,但您可以从这个示例中获得想法。

您的问题是,您不应该对核心主题文件进行更改,您需要提出一个不同的解决方案,以供将来使用。我不知道突出的主题,可能有钩子提供添加自定义选项。如果做不到这一点,您可以在WordPress中添加自定义选项,然后这样做。然后只需修改footer.php文件即可显示社交图标。

代码语言:javascript
复制
<?php
$my_current_lang = apply_filters( 'wpml_current_language', NULL );

if( $my_current_lang == 'en' ) {
    if(!empty($options['use-facebook-icon']) && $options['use-facebook-icon'] == 1) { ?> 
        <li><a target="_blank" href="<?php echo $options['facebook-url']; ?>"><i class="fa fa-facebook"></i> </a></li> 
    <?php 
    }
} 
elseif( $my_current_lang == 'fr' ) {
    // Enter custom code here
}
?>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48982973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档