TranslatePress Condition für Breakdance

Tipps, Tutorials

Inhalt

Auf mehrsprachigen Websites gibt es oft Anwendungsfälle, bei welchen bestimmte Elemente abhängig von der Sprache angezeigt oder ausgeblendet werden sollen. Je nach Plugin gibt es hier unterschiedliche Möglichkeiten das zu erreichen. In diesem Beitrag geht es explizit um die Umsetzung einer TranslatePress Condition für Breakdance.

Anzeige abhängig von der URL

Eine Möglichkeit das mit den Bordmitteln von Breakdance zu erreichen ist es, über Conditions die URL abzurufen und zu überprüfen, ob ein bestimmter Language-Code im String existiert. Beispielsweise könnte man überprüfen, ob sich der String „/en/“ in der URL befindet und abhängig davon, das Element ein oder ausblenden.

TranslatePress Shortcodes nutzen

TranslatePress bietet hierfür auch Shortcodes welche eingesetzt werden können. Dazu fügt man alle Inhalte, welche ein-/ausgeblendet werden sollen, in den Shortcode ein und passt die entsprechenden Parameter an.

[trp_language language="fi"] English content only [/trp_language]

Custom TranslatePress Breakdance Condition

Die eleganteste Art dein Ziel zu erreichen ist es, eine eigene Condition für TranslatePress zu Breakdance hinzuzufügen. Dazu kannst du folgenden PHP-Code in deine Installation einfügen.

Nachdem du diesen Code eingefügt hat, taucht in den Breakdance Conditions die Custom Condition „TranslatePress“ auf. Hier werden alle Sprachen angezeigt, welche du eingerichtet hast. Wie von den anderen Breakdance Conditions gewohnt, kannst du hier die Condition auf Elemente anwenden. Die entsprechenden Elemente werden dann abhängig von der gewählten Sprache angezeigt, bzw. ausgeblendet.

<?php
add_action("breakdance_register_template_types_and_conditions", function () {
    if (function_exists("trp_get_languages")) {
        $lang_list_full = trp_get_languages();
        $lang_list = array();
        foreach($lang_list_full as $key => $value) {
            $lang_list[] = $key;
        }

        \Breakdance\ConditionsAPI\register([
            "supports" => ["element_display", "templating"],
            "slug" => "TranslatePress4bd-condition", // MUST BE UNIQUE
            "label" => "Language",
            "category" => "TranslatePress",
            "operands" => ["equals", "not equals"],

            "values" => function () use ($lang_list) {
                return [
                    [
                        "label" => "Language",
                        "items" => array_map(function ($lang) {
                            return [
                                "text" => $lang,
                                "value" => $lang,
                            ];
                        }, $lang_list),
                    ],
                ];
            },

            "allowMultiselect" => false,

            "callback" => function (string $operand, $value) {
                // Get the current language from TranslatePress
                $current_lang = get_locale();

                if ($operand === "equals") {
                    return $current_lang === $value;
                }

                if ($operand === "not equals") {
                    return $current_lang !== $value;
                }

                return false;
            },
        ]);
    }
});
Teilen
Jetzt kontaktieren

Lass uns deine Website fertigstellen.

Was wir dir garantieren

Du bekommst nur eine Rechnung, wenn wir helfen konnten!

Unser Team engagiert sich Tag für Tag, um für unsere Kunden Probleme schnell zu lösen, oder bei Umsetzungen optimale Ergebnisse zu erzielen. Das hat dazu geführt, dass bedemy heute für seine erstklassige Dienstleistung bekannt ist und viele glückliche Kunden hat. Unsere bisherige Erfahrung und die Überzeugung in unsere Fähigkeiten ermöglicht es uns, auch Neukunden ein einzigartiges Versprechen zu geben, das unsere Verpflichtung zur Kundenzufriedenheit unterstreicht.

Wir stellen nur eine Rechnung, wenn wir wirklich helfen konnten!

Sollten wir bei einem Problem, oder bei einer Umsetzung nicht helfen können, stellen wir auch keine Rechnung. Selbst wenn wir bereist Zeit investiert haben. Du hast kein Risiko, denn selbst die Kosten für den Fall, dass wir alles umgesetzt haben wie gewünscht, sind unsere Kosten transparent, vorher ausgemacht und niemals über dem geplanten Budget!

Was unsere Hilfe kostet

Keine bösen Überraschungen

Wir rechnen nach einem festen Stundensatz ab, den wir dir vor einem kostenpflichtigen Einsatz unseres Teams in einem schriftlichen Angebot mitteilen. Das bedeutet: Die Umsetzung eines kleinen Features, oder das Beheben eines Problems geht in der Regel schnell (oft innerhalb einiger Minuten) und kostet somit auch nicht viel. Die Umsetzung einer kompletten Seite dagegen nimmt schon mal (je nach Umfang) ein paar Tage in Anspruch.

Was die Kosten angeht, musst du dir aber keinen Kopf machen.

Zum einen bekommst du von uns vorab immer via E-Mail ein Angebot, selbst bei kleineren Support-Anfragen. Zum anderen halten wir uns auch immer an diese Kostenschätzung, wenn wir dir nichts anderes mitteilen. Sollten wir bei der Umsetzung merken, dass die an uns gestellte Aufgabe doch komplexer ist und länger dauert, melden wir uns bei dir mit einer überarbeiteten Kostenschätzung. Dann kannst du entscheiden, ob du bereit bist dieses überarbeitete Angebot anzunehmen, oder nicht. Sollte dir das zu viel sein, stoppen wir das Projekt und du zahlst keinen Cent. Auch nicht für die Arbeit, die wir bis dahin (entsprechend der ersten Einschätzung) schon in das Projekt investiert haben.