Javascript laden und klassen ansprechen?

  • Hallo liebe Comunity,

    folgender Sachverhalt:

    Ich habe in HTML eine "sticky-sidebar" erstellt. Diese wird auf der Seite auch angezeigt. Nun habe ich ein Java-Script code, der beim Klick auf die sidebar diese ausfährt. Wenn ich den Javascript code inline in den Quellcode integriere, dann funktioniert alles so wie es soll. Jedoch möchte ich den JavaScript-Code gern in einer externen Datei laden. Dsfür hab ich den code in eine Datei kopiert, diese auf den Server geladen und in der fuctions.php registriert mit folgendem Code:

    PHP
    //custom Javascript laden
    wp_register_script( 'sticky-js', $template_url.'/js/sticky-js.js', 'jquery', "1", true);
    wp_enqueue_script( 'sticky-js' );

    Wenn ich nun in den Quellcode der Seite schaue, wird die Datei geladen bzw. kann ich die javascript datei über den Link im quellcode öffnen. Leider funktioniert die sticky-sidebar nicht bzw. spricht das JavaScript dise nicht mehr an.

    Wo könnt der Fehler liegen, was mach ich falsch?

    Würde mich sehr über Hilfe freuen, bevor ich hier noch verzweifel.

    Viele Grüße

    • 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

  • Versuch es mal in einer Funktion, z. B. so:

    PHP
    function my_scripts() {
        wp_register_script( 'sticky-js', $template_url.'/js/sticky-js.js', 'jquery', "1", true);
        wp_enqueue_script( 'sticky-js' );  
    }
    add_action( 'wp_enqueue_scripts', 'my_scripts', 99 );

    Ansonsten müsste man sich das mal ansehen.

    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]

    Einmal editiert, zuletzt von SirEctor (28. April 2016 um 17:25)

  • Hey,

    danke für Deine Antwort! Ich hab deine funktioniert nun verwendet und es bleibt dabei... das Skript ist zwar im quellcode aufrufbar, aber spricht die HTML Klassen nicht an :-(
    Könntest Du Dir das anschauen? Würde auch was dafür löhnen...

    Viele Grüße

  • wie kommst du denn auf $template_url ??
    Guck dir lieber mal get stylesheet directory uri() oder get_template_directory_uri() im codex an.

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

  • auch wenn ich z.B. das Script mit folgender Funktion lade, ist es zwar im Quellcode, spricht aber nicht die HTML-Klassen an

  • vielleicht stimmt ja auch was im js nicht.

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

  • Link zur Seite bitte, dann ist das Problem in 2min gelöst.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • die seite ist aktuell noch nicht online und du musst dich einloggen um die seite zu sehen... kann ich dir link und login irgendwo privat schicken?

  • die seite ist aktuell noch nicht online und du musst dich einloggen um die seite zu sehen... kann ich dir link und login irgendwo privat schicken?

    Sorry, ich helfe nur öffentlich im Forum, sonst hat die Community nichts davon.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • ja das stimmt, aber du kannst mir auch sagen wo du das problem vemutest und ich setz es um und schreib dann die lösung hier rein?

  • Meine persönliche Regel: Wer Hilfe im Forum sucht, muss der Community Zugang zum Problem ermöglichen. Wer die Hilfe einer einzelnen Person in Anspruch nehmen möchte geht über das Jobforum.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Wenn ich den Javascript code inline in den Quellcode integriere, dann funktioniert alles so wie es soll.
    […]
    Wenn ich nun in den Quellcode der Seite schaue, wird die Datei geladen bzw. kann ich die javascript datei über den Link im quellcode öffnen. Leider funktioniert die sticky-sidebar nicht bzw. spricht das JavaScript dise nicht mehr an.

    Ich hatte mal das Problem mit einem Javascript, dass die Initialisierung des Skripts für WordPress anders formuliert werden musste. Also wenn ich das funktion-init-script direkt zwischen <script>Tags in den Footer geschrieben habe, hat es funktioniert. Als ich die funktion-init.js über meine functions.php eingebunden hatte, ging es nicht …
    Vielleicht was in der Richtung / in der Richtung suchen?

    Gruß
    helix

  • mit der Funktion

    function wpdocs_scripts_method() {
    wp_enqueue_script(
    'javascript',
    get_stylesheet_directory_uri() . '/js/javascript',
    array('jquery')
    );


    }

    hat es wunderbar funktioniert

    Viele Grüße

  • Ich frage jetzt mal ganz blöd ... das ist nicht der funktionierende originalcode, oder? Da hier keine js-datei direkt angesprochen wird kann das glaube ich gar nicht funktionieren ... wahrscheinlich ist eher das du jetzt einfach keine Konflikte mehr hast da vllt. Das durch das Plugin geladene js nicht mehr doppelt registriert wird... Aber ich könnte mich natürlich irren

    Gesendet von meinem ONE A2003 mit Tapatalk

Jetzt mitmachen!

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