Found Image MslsMenu | Plugin Review Network Skip to Content

Plugin Review Network

Plugin Review Network

an eye on the best wordpress plugins
Show Sidebar Hide Sidebar
[+] Sidebar [-] Sidebar
Plugin:
Rated:
98%
4.9 Stars (7 votes)

Home

WP.Org

ReadMe

Support
  • Author:
    Dennis Ploetner
Version: 2.2
Requires: WP 3.6.1
Last Updated:2352 days ago
Downloads:13227
Installations: 200+
Usage Retention:1.51%
Tags:
    i18n, international, language, localization, menu, msls, multilingual, multisite, nav_menu, switcher
Download Plugin Package

MslsMenu

Released on September 18, 2014.
Download Plugin Package

Version: 2.2

Adds the output of the Multisite Language Switcher to one (or more) of your navigation menu(s)

  • Description
  • FAQ
  • Changelog
  • Installation
  • Screenshots


The Multisite Language Switcher already offers plenty of ways to output its language links: a block, the shortcodes [sc_msls] and [sc_msls_widget], the classic widget, a content filter, and the msls_the_switcher() API for your theme files.

What none of them covers is a navigation menu. A classic menu rendered by wp_nav_menu() accepts menu items and nothing else, so there is no slot for a block or a shortcode inside it - and writing a custom walker into the theme is more work than most sites are willing to spend on a language switcher.

MslsMenu closes that gap. Select the theme locations you want in the settings and the language links are appended to every menu rendered at those locations. No theme edit, no PHP, no custom walker.

Does this work with the Navigation block of a block theme?

No. MslsMenu hooks into wp_nav_menu_items, a filter of the classic wp_nav_menu() function, and the Navigation block does not run through it. In a block theme use the block of the Multisite Language Switcher instead and place it next to the Navigation block in your header template.

Do I need the Multisite Language Switcher?

Yes, version 3.0 or newer, installed and active. MslsMenu is an add-on and declares the dependency through its Requires Plugins header. That header cannot express a minimum version, so against an older Multisite Language Switcher MslsMenu stays inactive and explains itself with an admin notice.

Where are the settings?

In Settings -> Multisite Language Switcher of each site. MslsMenu adds its own "Menu Settings" section to that page.

3.0.2

  • An admin notice explains why MslsMenu is doing nothing when Multisite Language Switcher is older than 3.0.
  • The release is built and checked in CI, deployed from the same distribution Plugin Check verifies, and published with a build provenance attestation.
  • The translation files were regenerated.

2.5.1

  • plugin check integration added
  • missing license problem addressed
  • MslsOutput class deprecated init in favour of a function

2.4.1

  • readme.txt tags updated
  • Plugin check issues fixed
  • "Requires Plugins" added

2.3.2

  • Pest as new dev/tester dependency

2.2.6

  • Unit testing completed
  • phpstan config excluded
  • Pest for Unit tests added
  • PHP 7.1 as minimum declared

1.0

  • marked as stable
  • WordPress Coding Standards
  • PHPDocs


  • Use the WordPress plugin installation and search for "MslsMenu".
  • Alternatively, download the plugin, uncompress it with your preferred unzip programme and upload the folder mslsmenu to the /wp-content/plugins/ directory.
  • Activate the plugin
  • You will find the configuration of the plugin once in each blog in Settings -> Multisite Language Switcher
  • Set the menu specific options such as <li class="msls-menu"> before the item output or the description. Please, check the Screenshots-section too!


Edit menus
Screenshot 1


Manage locations
Screenshot 2


Plugin configuration
Screenshot 3


Output in the primary nav menu
Screenshot 4



 

Click here to cancel reply.

Click here to cancel reply.


*

*


Please copy the string 5PIWVO to the field below:

Home | Sitemap | Contact
Network Skin Theme for BioShip by WordQuest
Password Reset
Please enter your e-mail address. You will receive a new password via e-mail.