{"id":485,"date":"2023-02-28T20:58:09","date_gmt":"2023-02-28T20:58:09","guid":{"rendered":"http:\/\/msls.co\/?page_id=485"},"modified":"2025-09-12T16:19:49","modified_gmt":"2025-09-12T16:19:49","slug":"snippets-beispiele","status":"publish","type":"page","link":"https:\/\/msls.co\/de\/developer-docs\/snippets-beispiele\/","title":{"rendered":"Snippets &amp; Beispiele"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Oft bekomme ich kleine Anfragen, wie man bestimmte Integrationen durchf\u00fchren kann. Es gibt bereits einige API-Funktionen, die mit dem Plugin ausgeliefert werden. Manchmal ist die zus\u00e4tzliche Arbeit f\u00fcr benutzerdefinierte Plugins. Der folgende Inhalt ist eine Sammlung von L\u00f6sungen, die ich anderen Nutzern vorgeschlagen habe.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Die aktuelle Sprache feststellen<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Sie sollten die von WordPress bereitgestellte Funktion&nbsp;<code>get_locale()<\/code> verwenden, wenn Sie die Sprache des aktuellen Blogs wissen m\u00f6chten.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Der Multisite Language Switcher verf\u00fcgt \u00fcber eine \u00e4hnliche Funktion, welche die Sprache auf <code>en_US<\/code> setzt, falls sie leer ist.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>use lloc\\Msls\\MslsBlogCollection;\n\u200b\n$blog     = MslsBlogCollection::instance()-&gt;get_current_blog();\n$language = $blog-&gt;get_language(); \/\/ en_US\n$alpha2   = $blog-&gt;get_alpha2(); \/\/ en\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Navigationsmen\u00fc manipulieren<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Die API function <code>msls_output()<\/code> ist n\u00fctzlich, wenn Sie die Elemente eines Navigationsmen\u00fcs manipulieren m\u00f6chten.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Zuerst sollten Sie pr\u00fcfen, ob das Plugin aktiv ist (beispielsweise, ob die Funktion <code>msls_output()<\/code> existiert) und ob es das prim\u00e4re Men\u00fc in Ihrem Thema ist (der Name kann variieren). Dann kann man das Objekt erstellen und das Array der Links (in meinem Beispiel nur die verlinkten Flaggen) zu den \u00dcbersetzungen anfordern. Danach kann man die Ausgabe vorbereiten, sie zu <em>$items<\/em> hinzuf\u00fcgen und zur\u00fcckgeben.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hier eine vereinfachte Version des Add-ons <a href=\"https:\/\/wordpress.org\/plugins\/mslsmenu\/\">MslsMenu<\/a>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>function my_custom_menu_item( $items, $args ) {\n    if ( function_exists ( 'msls_output' ) &amp;&amp; 'primary' == $args-&gt;theme_location ) {\n        $arr = msls_output()-&gt;get( 2 );\n        if ( !empty( $arr ) ) {\n            $items .= '&lt;li&gt;' . implode( '&lt;\/li&gt;&lt;li&gt;', $arr ) . '&lt;\/li&gt;';\n        }\n    }\n    return $items;\n}\nadd_filter( 'wp_nav_menu_items', 'my_custom_menu_item', 10, 2 );<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Sie k\u00f6nnen nat\u00fcrlich auch andere Werte als 2 \u00fcbergeben. Hier ist eine Liste mit den verschiedenen M\u00f6glichkeiten:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/* MslsLink - Image + text *\/\n$arr = $obj-&gt;get( 0 );\n\n\/* MslsLinkTextOnly - Just text\t*\/\n$arr = $obj-&gt;get( 1 );\n\n\/* MslsLinkImageOnly - Just image *\/\n$arr = $obj-&gt;get( 2 );\n\n\/* MslsLinkTextImage - Text + image *\/\n$arr = $obj-&gt;get( 3 );\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Die Blog-Auflistung<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn Sie die Auflistung von Blogs, welches das Plugin erstellt, in Ihren Funktionen (und Filtern) verwenden m\u00f6chten, k\u00f6nnen Sie Code wie diesen schreiben:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>use lloc\\Msls\\MslsBlogCollection;\n\u200b\nfunction my_print_something() {\n    foreach ( MslsBlogCollection::instance()-&gt;get() as $blog ) {\n        printf(\n            '&lt;link rel=\"alternate\" hreflang=\"%1$s\" href=\"http:\/\/%1$s.example.com\/\" \/&gt;',\n            $blog-&gt;get_language()\n        );\n    }\n}\nadd_action( 'wp_head', 'my_print_something' );`\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Dies ist nur eine vereinfachte Version dessen, was der Multisite Language Switcher bereits tut. Es werden die Link-Verweise der zusammengeh\u00f6rigen Blogs im HTML-Header ausgegeben. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Oft bekomme ich kleine Anfragen, wie man bestimmte Integrationen durchf\u00fchren kann. Es gibt bereits einige API-Funktionen, die mit dem Plugin ausgeliefert werden. Manchmal ist die zus\u00e4tzliche Arbeit f\u00fcr benutzerdefinierte Plugins. Der folgende Inhalt ist eine Sammlung von L\u00f6sungen, die ich anderen Nutzern vorgeschlagen habe. Die aktuelle Sprache feststellen Sie sollten die von WordPress bereitgestellte Funktion&nbsp;get_locale() &hellip; <a href=\"https:\/\/msls.co\/de\/developer-docs\/snippets-beispiele\/\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eSnippets &amp; Beispiele\u201c <\/span>weiterlesen<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"parent":357,"menu_order":2,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-485","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Snippets &amp; Beispiele - Multisite Language Switcher<\/title>\n<meta name=\"description\" content=\"Wie kann man bestimmte Integrationen durchf\u00fchren? Hier einige API-Funktionen, die mit dem Multisite Language Switcher ausgeliefert werden.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/msls.co\/de\/developer-docs\/snippets-beispiele\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Snippets &amp; Beispiele - Multisite Language Switcher\" \/>\n<meta property=\"og:description\" content=\"Wie kann man bestimmte Integrationen durchf\u00fchren? Hier einige API-Funktionen, die mit dem Multisite Language Switcher ausgeliefert werden.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/msls.co\/de\/developer-docs\/snippets-beispiele\/\" \/>\n<meta property=\"og:site_name\" content=\"Multisite Language Switcher\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/realloc\" \/>\n<meta property=\"article:modified_time\" content=\"2025-09-12T16:19:49+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@realloc\" \/>\n<meta name=\"twitter:label1\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data1\" content=\"2\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/msls.co\\\/de\\\/developer-docs\\\/snippets-beispiele\\\/\",\"url\":\"https:\\\/\\\/msls.co\\\/de\\\/developer-docs\\\/snippets-beispiele\\\/\",\"name\":\"Snippets &amp; Beispiele - Multisite Language Switcher\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/msls.co\\\/de\\\/#website\"},\"datePublished\":\"2023-02-28T20:58:09+00:00\",\"dateModified\":\"2025-09-12T16:19:49+00:00\",\"description\":\"Wie kann man bestimmte Integrationen durchf\u00fchren? Hier einige API-Funktionen, die mit dem Multisite Language Switcher ausgeliefert werden.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/msls.co\\\/de\\\/developer-docs\\\/snippets-beispiele\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/msls.co\\\/de\\\/developer-docs\\\/snippets-beispiele\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/msls.co\\\/de\\\/developer-docs\\\/snippets-beispiele\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/msls.co\\\/de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Entwickler Dokumentation\",\"item\":\"https:\\\/\\\/msls.co\\\/de\\\/developer-docs\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Snippets &amp; Beispiele\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/msls.co\\\/de\\\/#website\",\"url\":\"https:\\\/\\\/msls.co\\\/de\\\/\",\"name\":\"Multisite Language Switcher\",\"description\":\"WordPress Multilingual \u2013 Simple, powerful and easy to use\",\"publisher\":{\"@id\":\"https:\\\/\\\/msls.co\\\/de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/msls.co\\\/de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/msls.co\\\/de\\\/#organization\",\"name\":\"Multisite Language Switcher\",\"url\":\"https:\\\/\\\/msls.co\\\/de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/msls.co\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/msls.co\\\/de\\\/wp-content\\\/uploads\\\/sites\\\/12\\\/sites\\\/13\\\/2023\\\/03\\\/cropped-icon.png\",\"contentUrl\":\"https:\\\/\\\/msls.co\\\/de\\\/wp-content\\\/uploads\\\/sites\\\/12\\\/sites\\\/13\\\/2023\\\/03\\\/cropped-icon.png\",\"width\":512,\"height\":512,\"caption\":\"Multisite Language Switcher\"},\"image\":{\"@id\":\"https:\\\/\\\/msls.co\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/realloc\",\"https:\\\/\\\/x.com\\\/realloc\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Snippets &amp; Beispiele - Multisite Language Switcher","description":"Wie kann man bestimmte Integrationen durchf\u00fchren? Hier einige API-Funktionen, die mit dem Multisite Language Switcher ausgeliefert werden.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/msls.co\/de\/developer-docs\/snippets-beispiele\/","og_locale":"de_DE","og_type":"article","og_title":"Snippets &amp; Beispiele - Multisite Language Switcher","og_description":"Wie kann man bestimmte Integrationen durchf\u00fchren? Hier einige API-Funktionen, die mit dem Multisite Language Switcher ausgeliefert werden.","og_url":"https:\/\/msls.co\/de\/developer-docs\/snippets-beispiele\/","og_site_name":"Multisite Language Switcher","article_publisher":"https:\/\/www.facebook.com\/realloc","article_modified_time":"2025-09-12T16:19:49+00:00","twitter_card":"summary_large_image","twitter_site":"@realloc","twitter_misc":{"Gesch\u00e4tzte Lesezeit":"2\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/msls.co\/de\/developer-docs\/snippets-beispiele\/","url":"https:\/\/msls.co\/de\/developer-docs\/snippets-beispiele\/","name":"Snippets &amp; Beispiele - Multisite Language Switcher","isPartOf":{"@id":"https:\/\/msls.co\/de\/#website"},"datePublished":"2023-02-28T20:58:09+00:00","dateModified":"2025-09-12T16:19:49+00:00","description":"Wie kann man bestimmte Integrationen durchf\u00fchren? Hier einige API-Funktionen, die mit dem Multisite Language Switcher ausgeliefert werden.","breadcrumb":{"@id":"https:\/\/msls.co\/de\/developer-docs\/snippets-beispiele\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/msls.co\/de\/developer-docs\/snippets-beispiele\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/msls.co\/de\/developer-docs\/snippets-beispiele\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/msls.co\/de\/"},{"@type":"ListItem","position":2,"name":"Entwickler Dokumentation","item":"https:\/\/msls.co\/de\/developer-docs\/"},{"@type":"ListItem","position":3,"name":"Snippets &amp; Beispiele"}]},{"@type":"WebSite","@id":"https:\/\/msls.co\/de\/#website","url":"https:\/\/msls.co\/de\/","name":"Multisite Language Switcher","description":"WordPress Multilingual \u2013 Simple, powerful and easy to use","publisher":{"@id":"https:\/\/msls.co\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/msls.co\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/msls.co\/de\/#organization","name":"Multisite Language Switcher","url":"https:\/\/msls.co\/de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/msls.co\/de\/#\/schema\/logo\/image\/","url":"https:\/\/msls.co\/de\/wp-content\/uploads\/sites\/12\/sites\/13\/2023\/03\/cropped-icon.png","contentUrl":"https:\/\/msls.co\/de\/wp-content\/uploads\/sites\/12\/sites\/13\/2023\/03\/cropped-icon.png","width":512,"height":512,"caption":"Multisite Language Switcher"},"image":{"@id":"https:\/\/msls.co\/de\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/realloc","https:\/\/x.com\/realloc"]}]}},"_links":{"self":[{"href":"https:\/\/msls.co\/de\/wp-json\/wp\/v2\/pages\/485","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/msls.co\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/msls.co\/de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/msls.co\/de\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/msls.co\/de\/wp-json\/wp\/v2\/comments?post=485"}],"version-history":[{"count":1,"href":"https:\/\/msls.co\/de\/wp-json\/wp\/v2\/pages\/485\/revisions"}],"predecessor-version":[{"id":710,"href":"https:\/\/msls.co\/de\/wp-json\/wp\/v2\/pages\/485\/revisions\/710"}],"up":[{"embeddable":true,"href":"https:\/\/msls.co\/de\/wp-json\/wp\/v2\/pages\/357"}],"wp:attachment":[{"href":"https:\/\/msls.co\/de\/wp-json\/wp\/v2\/media?parent=485"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}