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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于语言的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”的配置,反之亦然。

所以我想我必须找到一种方法来禁用覆盖。

还有另外一个wa来实现这个目标吗?使用wpml执行此操作是第一个查看但无法找到为复选框设置不同值的方法的选项。

答案

只需在第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
}
?>

以上是关于基于语言的wp显着主题社交媒体的主要内容,如果未能解决你的问题,请参考以下文章

片段或活动?最好在社交媒体应用中显示用户个人资料?

php WP片段(HTML,内部主题)

html 如何在WordPress主题中添加社交媒体共享链接

css 替换X主题中的社交媒体(字体真棒)图标

使用媒体查询使 WP 短代码元素居中

社交网络映射主题网络:从两极分化的人群到社区集群