JavaScript zerstört Template

  • Moin,

    wir haben auf einer WordPress Seite den Login zu unserem CRM-System geschaltet. Dieser Login ist ein JavaScript. Dieses habe ich auf einer WordPress Seite integriert. Leider werden auf der Seite kein Menü und kein Footer angezeigt. Auch weitere Widgets werden komplett ignoriert. Wir möchten das JavaScript Fenster einbinden wie jedes andere Widget auch und dann weitere Texte und Widgets anzeigen können und natürlich das Menü und den Footer.

    Hauptseinte: http://www.bm-od.com

    JavaScript Seite: http://www.bm-od.com/login


    Folgende Dinge habe ich schon probiert:

    • anderes Template
    • einen JavaScript Editor (Enhanced Text Editor)
    • ein JavaScript Plugin. Dort kann ich aber leider nicht den spezifischen Ort des Fensters definieren. Sondern nur header oder nach body angeben.
    • das JavaScript in einen iFrame packen. Fuktioniert mit dem Layout. Allerdings ist dann kein Login in unser CRM mehr möglich.
    • JavaScript in Paragraph <p> einbetten.
    • mit dem SiteOrigin PageBuilder herumprobiert

    Ich bin langsam am Ende mit meinem Latein.

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Schon mal vielen Dank für den Hinweise! Ich hatte es mit dem Plugin 'Shortcoder' probiert. Gleiches Ergebnis.

    Nun habe ich mich daran gewagt, dass ganze direkt in WP zu implementieren in der functions.php. Allerdings erhalte ich noch einen Fehler beim Aufruf der Seite nun:

    Parse error: syntax error, unexpected '<' ...../functions.php on line 23

    Der Shortcode in meiner functions.php

    function get_bmlogin() {


    <script type="text/javascript">// < ![CDATA[
    var config = {
    "loginPage": "https://bm.bm-od.com/bm",
    "homePage": 1,
    "width": "256px",
    "height": "310px"
    };
    var url = config.loginPage + '?homePage=1';
    var message = getMessage('message');
    if (message != null) {
    url += "&message=" + message;
    }
    //only for test bootstrap mode, this should be removed
    //if(isBootstrapMode()) {
    url += "&uiMode=bootstrap";
    //}
    function getMessage(name) {
    var url = document.URL,
    i = url.indexOf(name += '='),
    j = url.indexOf('&', i);
    if (-1 == j) {
    j = url.length;
    }
    if (-1 != i) {
    return url.substring(i + name.length, j);
    }
    return null;
    }
    function isBootstrapMode() {
    //read current url params to check this
    var queryParams = window.location.search.substring(0);
    if (queryParams.indexOf("uiMode=bootstrap") != -1) {
    return true;
    }
    return false;
    }
    document.write('<iframe src="' + url + '" frameborder="0" id="loginIFrame" width="' + config.width + '" height="' + config.height + '" scrolling="no" allowtransparency="true">');
    // ]]></script>
    }


    add_shortcode( 'bmlogin', 'get_bmlogin' );


    Ihn stört die '<' Klammer vor dem Script. Wo liegt mein Fehler?

  • Schau mal hier: https://codex.wordpress.org/Shortcode_API#Output

    Bei dir findet kein Output statt und du schreibst JS und HTML direkt in PHP. So kann das nicht klappen. Schau dir mal ein paar Beispiele an, wie du Javascript in einen Shortcode bekommst. Ein Stichwort wäre da z. B. ob_start.

    Das Geheimnis des Könnens liegt im Wollen!
    [size=12]Bitte keine Hilfegesuche per PN (auch keine "privaten" Links). Das ist ein öffentliches Forum.[/SIZE]

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!