Ready to get started?Download WordPress


Multisite Language Switcher
Sort order (6 posts)

  1. jappie11
    Posted 11 months ago #

    Hi Dennis,

    I remember your outstanding support when you helped me out last and wanted to thank you for the MSLS updates.

    I have dived into the configuration of MSLS output a bit more and I have understood the bit about defining an array of blogIDs that can be output, however I don't have the skills to understand how to define in PHP a sort order for different ID's.

    SO the ID's are as follows:
    1= FR_fr, description = "Site Name | FR"
    2= EN_en, description = "Site Name | EN"
    3= AR_ar, description = "Site Name | AR"

    This would yield the following order:
    default (Using language codes); 3,2,1
    Using description sort order; 3,2,1
    but what I would like to have as the sort order is 1,2,3

    Any tips or tricks to modify the output according to my requirements?

    Cheers JP


  2. realloc
    Plugin Author

    Posted 10 months ago #

    You could use get_the_msls() and work with the returning array instead of printing the links directly. Would this resolve your problem?


  3. jappie11
    Posted 10 months ago #


    Not sure but maybe I lack in understanding here, I was hoping to do something like this

    foreach ( array( 1, 2, 3) as $id ) {
    		 //array('orderby' => 'blog_id', 'order' => 'ASC');
    		 $arr[$id] = get_blog_details( $id );
        //$arr = array('orderby' => 'blog_id', 'order' => 'ASC' );
    return $arr;

    Note: the commented out lines are attempts in vain to get the sort order optimized.

    In terms of using get_the_msls(), how would you go about to create a fully customized language switcher? How do I get the flags,
    li>items, etc. and most importantly, how do I set the sort order?

    Thanks in advance for your help!

    Cheers JP

  4. realloc
    Plugin Author

    Posted 10 months ago #

    Do you need just an array with the generated links so give it a try ;)

    $arr = get_the_msls();
    print_r( $arr );

    Or do you need something else?

  5. jappie11
    Posted 10 months ago #

    Ideally the output would be the same as with the_MSLS, so including the divs below. Also I noticed that the function example output the get_the_msls to the navigation menu, which is not what I want since it should have it's own DIV.
    add_filter( 'wp_nav_menu_items', 'my_custom_language_menu', 10, 2 );

    How would I change the add_filter above to use get_the_msls with the divs I need in my header?

    The desired output is as follows:

    <div id="language_selector"><ul class="translation_links">
    <li><a href="#" title="fr"><img width="16" height="11" src=".../wp-content/plugins/multisite-language-switcher/flags/fr.png" alt="fr_FR"></a></li>
    <li><a href="#/en" title="en"><img width="16" height="11" src=".../wp-content/plugins/multisite-language-switcher/flags/us.png" alt="us"></a></li>
    <li><a href="#/ar" title="ar"><img width="16" height="11" src=".../wp-content/plugins/multisite-language-switcher/flags/ar.png" alt="ar"></a>

    [Moderator Note: Please post code & markup between backticks or use the code button. Your posted code may now have been permanently damaged by the forum's parser.]

  6. realloc
    Plugin Author

    Posted 10 months ago #

    Seems that this little functionality is a little bit more complex. Could be a variation of this here: https://github.com/lloc/Multisite-Language-Switcher/wiki/Use-the-blog-collection-in-your-functions-%28and-filters%29


You must log in to post.

About this Plugin

About this Topic