我使用的是突出主题, 似乎它不支持基于当前语言的不同社交媒体。
为了解决这个问题, 我修改了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, 但是你可以从此示例中了解。
【基于语言的wp突出主题社交媒体】你的问题是, 你不应该对核心主题文件进行更改, 而是需要提出一种可以证明未来的解决方案。我不知道这个突出的主题, 可能提供了一些挂钩来添加自定义选项。如果失败, 则可以将自定义选项添加到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="http://www.srcmini.com/<
?php echo $options['facebook-url'];
?>
">
<
i class="fa fa-facebook">
<
/i>
<
/a>
<
/li>
<
?php
}
}
elseif( $my_current_lang == 'fr' ) {
// Enter custom code here
}
?>
推荐阅读
- wp_register_script不加载脚本
- WP查询以获取具有特定term_taxonomy的帖子
- 二次上岗,充实生话
- 不知不觉我在玩具厂工作五年了
- 成家之后,我是三十而立的年纪
- 我要成为老妈的依靠
- 这一年不容易,深深的感谢自己
- 40张图+万字,从9个数据类型帮你稳稳的拿捏Redis 数据结构
- #yyds干货盘点# java通过sftp模式实现FTP的文件上传下载删除功能