Search code examples
phpjquerywordpressqtranslate

wordpress qtranslate flags dropdown


I'm using "qtranslate" plugin for word press to use metalanguage in my site,

How can i create a combo that will display only the flags in it ?

i have tried using the following code to generate the dropdown but it only displays the flags in a list:

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);

Thanks


Solution

  • I eventually took one of the solutions here and combined it with msdropdown plugin

    Step 1: Go to the plugin folder and open qtranslate/qtranslate_widget.php. There in line no. 112 you will find case:'both'; Now where that case ends its line no 123 Below that add the following code (another case written)

    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; ?>