WPML Coding API
WPML offers functions that can be used in your WordPress theme to provide correct support for multilingual themes.
|do_action(‘icl_language_selector’)||Insert the drop down language selector.||Described in the language setup section of the getting started guide.|
|do_action(‘icl_navigation_menu’)*||Insert the top navigation menu.||Described in the navitaion section of the getting started guide.|
|do_action(‘icl_navigation_breadcrumb’)*||Insert the breadcrumbs trail.|
|do_action(‘icl_navigation_sidebar’)*||Insert the sidebar navigation.|
|icl_get_home_url()||Link to the home page in the active language.||Described in the home page link section of the getting started guide.|
|icl_get_languages(‘skip_missing=N’)||Used for building custom language selectors.||Described in the custom language switcher section of the getting started guide.|
|icl_link_to_element(ID, type, text, arguments, anchor)||Used for creating language dependent links in themes.||Described in the hard coded links section of the getting started guide.|
|icl_object_id(ID, type, return_original_if_missing, language_code)||Used for calculating the IDs of objects (usually categories) in the current language.||Described in the language dependent IDs section of the getting started guide.|
|icl_register_string(context, name, value)||Registers a string for translation||Described in the guide for translating texts in other plugins and themes.|
|icl_unregister_string(context, name)||Removes a string from the translation table|
|icl_t(context, name, value)||Gets the translated value of a string.|
* Requires the WPML CMS Navigation plugin.
WPML defines the following constants which can be used in the theme:
|ICL_LANGUAGE_CODE||Code for the current language||fr|
|ICL_LANGUAGE_NAME||Name of current language, in the current language||Français|
|ICL_LANGUAGE_NAME_EN||Name of the current language name in English||French|
WPML comes with its own CSS and JS files that style its navigation and drop-down language switcher.
If you don’t need them in your theme, you can tell WPML not to load these files. Do to that, define the following constants in your theme:
|Constant||The file it disables|
|ICL_DONT_LOAD_NAVIGATION_CSS||Navigation stylesheets – cms-navigation-base.css and cms-navigation.css|
|ICL_DONT_LOAD_LANGUAGE_SELECTOR_CSS||Drop-down language selector stylesheet – language-selector.css|
To set these constants, define them in the theme’s functions.php file. For example: