个性化阅读
专注于IT技术分析

基于语言的wp突出主题社交媒体

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

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

我正在检测语言

   $my_current_lang = apply_filters( 'wpml_current_language', NULL );

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

// 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”的配置, 反之亦然。

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

还有另一种方法可以实现这一目标吗?使用wpml进行此操作是调查的第一个选项, 但是找不到找到具有不同复选框值的方法。


#1


只需在147行附近的footer.php文件中进行修改即可, 具体取决于你的版本。否则, 当你更新核心主题时, 你的更改将被覆盖。你可以向此行添加一些逻辑, 并从中剪切和粘贴。我无法对此进行测试, 因为我没有WPML, 但是你可以从此示例中了解。

你的问题是, 你不应该对核心主题文件进行更改, 而是需要提出一种可以证明未来的解决方案。我不知道这个突出的主题, 可能提供了一些挂钩来添加自定义选项。如果失败, 则可以将自定义选项添加到WordPress并以这种方式进行。然后只需对footer.php文件进行更改即可显示社交图标。

<?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)
未经允许不得转载:srcmini » 基于语言的wp突出主题社交媒体

评论 抢沙发

评论前必须登录!