Wie man JavaScript in einem WordPress-Blog einbindet, erschließt sich dem Anfängen nicht ohne weiteres. Insbesondere dann, wenn man die Bibliothek jQuery für seine Skripte verwenden möchte. In diesem Artikel werde ich zunächst zeigen, wie man JavaScript direkt in den Quelltext einfügt. Im zweiten Teil zeige ich, wie man JavaScript-Dateien in einen WordPress-Blog einbaut.
Direkter Einbau in den Quelltext
Es wird oftmals davon abgeraten, Skripte direkt in den Quelltext einzubauen. Dennoch werde ich diese Methode kurz vorstellen, um einen Fallstrick beim Einbau von jQuery in WordPress-Blogs zu zeigen.
Das folgende JavaScript kann direkt in den Quelltext einen Artikels oder einer Seite kopiert werden. Beim neu laden der Seite wird dann ein Fenster mit der Nachricht „JavaScript funktioniert!“ angezeigt.
<script> alert('JavaScript funktioniert!'); </script> |
In WordPress-Blogs wird jQuery im No Conflict Mode gestartet (siehe auch Blog von Matthew Ruddy). Daher funktioniert das $
-Zeichen als Alias für jQuery()
nicht mehr. An den entsprechenden Stellen muss man jQuery()
verwenden.
Im folgenden Beispiel wird beim Klicken auf den Text jedes Mal das Wort „neu“ vor den eigentlichen Text gestellt:
<p id="meinTest">Klicke auf diesen Text.</p> <script> jQuery("#meinTest").click(function(){ jQuery(this).before("neu "); }); </script> |
Um das Dollarzeichen wieder als Alias für jQuery()
in den eigenen Skripten verwenden zu können, muss man beim registrieren seiner Funktionen (mittels jQuery(document).ready
) der ersten Funktion das Dollarzeichen als Parameter mitliefern.
<p id="meinTest">Klick auf diesen Text</p> <script> jQuery(document).ready(function($) { $("#meinTest").click(function(){ $(this).before("neu "); }); }) </script> |
Einbinden von Skript-Dateien
Wenn man eigene JavaScript-Dateien einbauen möchte, sollte man die von WordPress zur Verfügung gestellten Funktionen nutzen. Mit ihnen kann man relativ leicht seine Skripte hinzuladen und aktivieren. Zudem stellt man sicher, dass alle benötigten Skript-Dateien (z.B. jQuery) rechtzeitig und in der richtigen Reihenfolge geladen werden.
- Zunächst erstellt man sich eine JavaScript-Datei (z.B.
meinScript.js
) mit der gewünschten Funktion. Durch das folgende Skript werden die H1-Überschriften versteckt, sobald man auf sie klickt.jQuery(document).ready(function($) { $("h1").click(function(){ $(this).hide(); }); });
Die Datei
meinScript.js
habe ich in den Ordnerjs/
meines eigenen Child-Themes gelegt (siehe auch StackOverflow). - Im Anschluss kann man die Datei zu WordPress hinzufügen, indem man folgenden Quelltext in seine
functions.php
-Datei schreibt:function mein_script_laden() { wp_enqueue_script( // Name des Scripts (benötigt man z.B. zum Entfernen, etc.) 'handlerMeinesScripts', // Ort der Script-Datei get_stylesheet_directory_uri() . '/js/meinScript.js', // Liste der Scripts, welche von der Script-Datei benötigt werden. // In diesem Falle das von Wordpress geladene jqeury array('jquery') ); } add_action( 'wp_enqueue_scripts', 'mein_script_laden' );
Da ich ein Child-Theme verwende, habe ich zur Ermittlung des Theme-Pfades die Funktion
get_stylesheet_directory_uri()
verwendet. Erstellt man ein komplett eigenes Theme, sollte man die Funktionget_template_directory_uri()
verwenden. - In Deinem Blog kannst Du auch andere Versionen von jQuery einbinden. Siehe hierzu: Die netzialisten.de und den Blog von Wlad Leirich.
- Du kannst auch die JavaScript-Datei im Theme-Editor sichtbar machen. Danach hast Du die Möglichkeit, die JavaScript-Datei direkt aus WordPress heraus zu editieren.
Vielen Dank! 😉
Hallo
ich habe den Artikel gelesen und bin mir nicht richtig sicher ob ich es richtig verstanden habe, bin kein Programmierer, aber denoch kann manche php „sachen“ begreifen.
Ich arbeite gerade an diese Seite:http://anit-druck.de/wordpress/ und wurde gerne paar „effekte“ so wie in diese seite: http://www.sohoprintstore.com/ ,unten bei dem „Latest Articles“ zum Beispiel.
Kannst du mir bitte sagen wie und wo soll ich den skript?
Danke
Abdel