• Sign in to Neowin Faster!

    Create an account on Neowin to contribute and support the site.

  • 0
Sign in to follow this  

Polylang WP plugin: create a language-selector with according flags

Question

tarifa    0

hello dear community, 

 

I have installed Polylang WP plugin for one site see the conceptual view: 



                                                   language-switcher: de :: fr :: it ::es :: pt :: eng :: ...--+
                                                   |                                                           |
                                                   +-----------------------------------------------------------+
+--------------------------------------------------------------------------------------------------------------+
|                                                                                                              |
|   +-------------------+ +------------------+ +----------------------------------+ +-------------------+      |
|   |                   | |                  | |                ||                | |                   |      |
|   |        Item 1     | |        Item 2    | |      Item 3    ||     Item 4     | |        Item 5     |      |
|   |                   | |                  | |                ||                | |                   |      |
|   |                   | |                  | |                ||                | |                   |      |
|   |                   | |                  | |                ||                | |                   |      |
|   +-------------------+ +------------------+ +----------------------------------+ +-------------------+      |
|                                                                                                              |
+--------------------------------------------------------------------------------------------------------------+
[/Code]


See i have the following languages: [Code] de :: fr :: it ::es :: pt :: eng  [/Code]

so we accordingly need to add flags but its look like funny. Therefore i came up with a sidebar in my theme (twentyseventeen the theme with the parallax-effect), 
and add it to header the following code:

[Code]
<div class="drop-dl">
  <a class="lang-chose" href="#"><img src=""> please now chose the language for the site - we have several ones - just choose now! </a>
  <?php get_sidebar(); ?>
</div>[/Code]

susequently: in the admin page of my site i need to configure at the so called widget-section the display of the language-selector. This is needed to get a good
overview for the user of the site: Therefore i have to set up the Language-Selector to the Sidebar: that task brings up a unsorted Lists from languages.
what comes next: in the next step i add small script and css code to get this work, here is CodePen demo link

furthermore: With this (following) php code, i am trying to have more control over positioning the widget in template.


[Code]if(function_exists('pll_the_languages')){
    pll_the_languages( array( 'show_flags' => 1,'show_names' => 0  ));
}[/Code]


This subsequently should help us to show up the following languages/respectively flags of nations :[Code] de :: fr :: it ::es :: pt :: eng  [/Code]

[Code]<!-- outputs a list of languages names -->
<ul>
<?php pll_the_languages(); ?>
</ul> 
<!-- outputs a flags list (without the according languages names - that is: the names of the nations) -->
<ul>
<?php pll_the_languages( array( 'show_flags' => 1,'show_names' => 0 ) ); ?>
</ul>
<!-- outputs a dropdown list of languages names -->
<?php pll_the_languages( array( 'dropdown' => 1 ) ); ?>[/Code]


[b]question:[/b] how to do this... 


can i display the language and the flag - both!?


[Code]
$translations = pll_the_languages( array( 'raw' => 1 ) );
[/Code]


The above mentioned function will return an array of arrays, one array per language with the following entries in the array:

[id] => language id
[slug] => language code used in urls
[name] => language name
[url] => url of the translation
[flag] => url of the flag
[current_lang] => true if this is the current language, false otherwise


again: any suggestion is welcome :) Because this solution should go to  work with "Polylang widget"

Share this post


Link to post
Share on other sites

2 answers to this question

Recommended Posts

  • 0
+Human.Online    8,491

Don't you already have a thread about a VERY similar issue?

Share this post


Link to post
Share on other sites
  • 0
tarifa    0

hello dear+ Human.Online. 

 

first of all - many many thanks for the quick reply.  Yes a bit simillar  - but the ohter thread does no contain su much code - and ideas. 

At the moment i am trying to get these poly-lang-things done. 

 

a big big SORRY if there some threads might  seem to be pretty close to each other.  

I encountered - the more i write the more i learn bout the Wordpress-issues. This helps me alot - therefore some days i might have pretty same issues i work on... 

sorry for that.

 

Above all :  i am so glad to be here at this great place - it is such a good thing being here at the forums.. 

 

 

have a great day. 

 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.