jQuery / Javascript im Child Theme Template

  • Ich habe folgendes Problem: Mir gelingt es nicht jQuery in meiner XAMPP Entwicklungsumgebung bei Wordpress zum Laufen zu bringen.
    Ich habe einen Child Theme zu Twentyten angelegt. (Nur mit einer style.css u. einer home.php bzw. in anderen Versuchen mit einer t_homepage.php).

    Ich habe bereits versucht über

    PHP
    <?php wp_enqueue_script('jquery');?>

    jQuery einzubinden, aber auch zum Beispiel die Library direkt einzubinden:

    Code
    <script src="jquery-1.4.2.min.js"></script>

    Hier zum Beispiel ein Versuchsbeispiel, das außerhalb von Wordpress läuft, aber als aktiviertes Template unter Wordpress nicht läuft (hier mit jQuery direkt Einbindung; also die Library im selben Ordner abgelegt):

    Der "Link" wird angezeigt, aber das Fenster mit "Hello world!" geht nicht auf. Hat jemand eine Idee, woran dies liegen könnte? (Ich habe noch eine Reihe anderer jQuery Beispiele ausprobiert, aber unter Wordpress im Child Theme funktionieren diese nicht.)

    Im Moment bin ich mit meinem Latein am Ende :confused:

    • 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

  • hast du es mal mit $ statt jquery versucht:

    Code
    $(document).ready(function() {
       $("a").click(function() {
         alert("Hello world!");
       });
     });

    [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]

  • Liegt jquery-1.4.2.min.js im richtigen Verzeichnis? Sonst versuch mal die:

    Code
    [COLOR=#339933]<[/COLOR]script src[COLOR=#339933]=[/COLOR][COLOR=#3366cc]"http://code.jquery.com/jquery-latest.js"[/COLOR] type[COLOR=#339933]=[/COLOR][COLOR=#3366cc]"text/javascript"[/COLOR][COLOR=#339933]></[/COLOR]script[COLOR=#339933]>[/COLOR]

    [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]

  • Liegt jquery-1.4.2.min.js im richtigen Verzeichnis? Sonst versuch mal die:

    Code
    [COLOR=#339933]<[/COLOR]script src[COLOR=#339933]=[/COLOR][COLOR=#3366cc]"http://code.jquery.com/jquery-latest.js"[/COLOR] type[COLOR=#339933]=[/COLOR][COLOR=#3366cc]"text/javascript"[/COLOR][COLOR=#339933]></[/COLOR]script[COLOR=#339933]>[/COLOR]


    Entschuldige, aber ich hatte vergessen zu erwähnen, dass ich diese Option auch ausprobiert habe und dies auch funktioniert - aber eben nur auf diese Art und Weise.
    Ja, meine jQuery Library liegt im richtigen Verzeichnis. Auch alle anderen Versuche, z. B. mit einem anderen Theme wie "Thematic", der die jQuery Datei obligatorisch läd, sind aber gescheitert.
    Auch alle Versuche über die functions.php oder die header.php jQuery einzubinden funktionieren nicht.
    Eben nur die von dir vorgeschlagene Option jQuery extern einzubinden.

  • Vielleicht auch noch der Hinweis, dass das Problem - also das Nicht-einbinden-können von jQuery - ebenso vorhanden ist, wenn ich eine entsprechende home.php im Twentyten-Theme (oder einem anderen Theme) anlege. Das Problem hat wohl nichts mit dem Anlegen eines Child-Theme zu, sondern mit der jQuery Einbindung in Templates allgemein.
    Ich habe keine Erklärung dafür, alle Versuche sind fehlgeschlagen, auch der Wechsel der Entwicklungsumgebung von XAMPP auf WAMP haben zu keiner Lösung des Problems geführt. (Hätte mich auch gewundert.)
    Ist das Problem keinem bekannt? Jedenfalls war mein googlen in dieser Sache nicht erfolgreich.

  • Wo hast Du denn wp_enqueue_script() verwendet?

    Ich habe folgendes in der functions.php:

    PHP
    if( !is_admin()){
           wp_deregister_script('jquery');
           wp_register_script('jquery', ("http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"), false, '');
           wp_enqueue_script('jquery');
    }

    Die Zeilen wp_deregister_script() und wp_register_script() würden bei einer lokalen Installation ggf. wegfallen.

    In der header.php habe ich dann die jQuery-Funktion:

    PHP
    <script type="text/javascript">
    jQuery(document).ready(function($) {
    
    
    $("a").click(function(){
       alert("Hallo!");
     });
        
    });
    </script>
  • ... auf diese Weise bin ich auch nicht weitergekommen.

    Ich gehe mittlerweile davon aus, dass es eigentlich nichts mit dem Code zu tun haben kann. (Zumindest wenn die Einbindung bei allen anderen funktioniert, nur bei mir nicht.)
    Aber mir gelingt es einfach nicht, das Problem in den Griff zu bekommen. Ich habe noch einmal die Plattform und WordPress neu installiert, aber ohne Erfolg. Am Problem hat sich nichts geändert.

    Für meine Experimente mit jQuery muss ich also im Augenblick über den externen Weg gehen.

    Ich wüsste aber zu gerne, woran es liegt, dass die andere Einbindung (über Zugriff auf die jQuery-Datei im Theme-Ordner, oder auf die interne WordPress jQuery Library) nicht funktioniert.

    Vielleicht hat ja doch noch jemand einen Tip?

Jetzt mitmachen!

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