我正在使用wordpress的"qtranslate"插件在我的网站中使用元语言
如何创建一个只显示其中标志的组合?
我尝试使用以下代码生成下拉列表,但它只显示列表中的标志:
echo qtrans_generateLanguageSelectCode('image');
$header_shortcodes = html_entity_decode(get_option(PREFIX.'_header_shortcodes'), ENT_QUOTES, 'UTF-8');
echo $header_shortcodes = apply_filters('themefuse_shortcodes',$header_shortcodes);
感谢
我最终采用了其中一个解决方案,并将其与msdropdown插件相结合
步骤1:转到插件文件夹,打开qtranslate/qtranslate_widget.php。在第112行,你会发现case:'both';现在,在这个案例的第123行结束的地方,下面添加了以下代码(另一个案例)
case 'bothkria': ?>
<div id="language_chooser">
<select name="langchooser" id="langchooser" onchange="$(window.location).attr('href',this.value);">
<?php
/************************
* go over the enabled languages and create all the languages options
* the first marked "selected" is reffered to the current chosen language
* the value is the relevant url and the title is the url of the image.
*
* After creating the selectbox we will run the msdropdown plugin to make it a designed select box
* Of corse dont forget to have a reference to the msdropdown js library
* <script type="text/javascript" src="js/jquery.dd.js"></script>
* you can find it here http://www.marghoobsuleman.com/jquery-image-dropdown
*************************/
foreach(qtrans_getSortedLanguages() as $language)
{
if($q_config['language']==$language) {?>
<option selected="selected" value="<?php echo qtrans_convertURL($url, $language);?>" title="<?php echo get_option('home');?>/wp-content/<?php echo $q_config['flag_location'];?><?php echo $q_config['flag'][$language] ?>"><?php print strtoupper($q_config['pre_domain'][$language]); ?></option>
<?php } else { ?>
<option value="<?php print qtrans_convertURL($url, $language);?>" title="<?php echo get_option('home');?>/wp-content/<?php echo $q_config['flag_location'];?><?php echo $q_config['flag'][$language] ?>"><?php print strtoupper($q_config['pre_domain'][$language]); ?></option>
<?php }
} ?>
</select>
<div id="selectbox_script" style="display:none;">
<script type="text/javascript">
/* <![CDATA[ */
$(document).ready(function(e) {
try {
$("#langchooser").msDropDown();
} catch(e) {
alert(e.message);
}
});
/* ]]> */
</script>
</div>
</div>
<?php break; ?>
我从你的问题中了解到,你需要一个包含标志图像和语言的下拉列表。如果是这样,那么使用下面的代码。
我已经在qtranslate 2.5.28版本上编写并测试了这段代码,尽管它也适用于其他版本,参考行号也是根据这个版本给出的。
步骤1:转到插件文件夹并打开qtranslate/qtranslate_widget.php。在第112行中,您将找到case:'both';
现在这个案子的终点是123号下面添加以下代码(另写一个案例)`
case 'bothkria':
if($_REQUEST['lang']!=""){ $kria = $_REQUEST['lang'];}else{$kria = $q_config['default_language'];}
echo '<span class="s_selected"><img src="'.get_option('home').'/wp-content/'.$q_config['flag_location'].''.$q_config['flag'][$kria].'" alt="'.$q_config['flag'][$kria].'" /> '.$q_config['language_name'][$kria].'</span>
<ul class="s_options">';
foreach(qtrans_getSortedLanguages() as $language){
echo '<li><a href="'.qtrans_convertURL($url, $language).'"><img src="'.get_option('home').'/wp-content/'.$q_config['flag_location'].''.$q_config['flag'][$language].'" alt="'.$q_config['language_name'][$language].'" />'.$q_config['language_name'][$language].'</a></li>';
}
echo '</ul>';
break;
第2步:你想在哪里显示它,只需粘贴下面的代码<div id="language_switcher" class="s_switcher"><?php echo qtrans_generateLanguageSelectCode('bothkria'); ?></div>
第3步:CSS类它是相应地设计的,这里为您提供帮助,您可以根据主题进行更改。`
.s_switcher {
z-index: 10;
position: absolute;
top:6px;
right:255px;
font-size: 11px;
background: #f6f6f6 url(../images/dropdown.gif) no-repeat 100% 6px;
border-top: 1px solid #e9e9e9;
border-left: 1px solid #e9e9e9;
border-right: 1px solid #f6f6f6;
border-bottom: 1px solid #f6f6f6;
border-radius: 3px;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
}
.s_switcher ul {
margin-bottom: 0;
}
.s_switcher span.s_selected,
.s_switcher li,
.s_switcher li a
{
display: block;
height: 22px;
line-height: 20px;
text-indent: 7px;
}
.s_switcher span.s_selected {
cursor: default;
color: #999;
}
.s_switcher .s_options {
cursor: pointer;
display: none;
}
.s_switcher img {
display: inline;
margin: -1px 3px 0 0;
vertical-align: middle;
margin-left:10px;
}
#language_switcher .s_selected, #language_switcher .s_options li a {
font-family:"Lucida Sans Unicode", "Lucida Grande", sans-serif;
text-decoration:none;
font-size:12px;
color:#333;
}
#language_switcher .s_options li a{
color:#999;}
#language_switcher .s_options li a:hover{
color:#333;}
`已完成上传文件并进行检查。希望这是你想要的。享受
谢谢!