Ich habe versucht, die JQuery-UI-Effekte (genauer gesagt den Shake-Effekt) in mein WordPress-Theme einzubeziehen. Bisher war es mir nur möglich, das jQuery-Skript einzuschließen, aber ich habe wirklich keine Ahnung, wo die UI-Skripte platziert werden sollen und wie sie in die Warteschlange gestellt werden sollen.
Das ist der Code, den ich habe. Es funktioniert offensichtlich nicht:
<?php wp_enqueue_script("jquery"); ?>
<?php wp_enqueue_script("jquery-ui-core"); ?>
<?php wp_head(); ?>
<link rel="stylesheet" type="text/css" href="<?php bloginfo('stylesheet_url'); ?>" />
<script type="text/javascript">
var $j = jQuery.noConflict();
$j(document).ready(function() {
$j("#manita-imagen").mouseover(function(){
//$j(this).animate({ opacity: "hide" })
// alert('asd');
$j(this).effect("shake", { times:3 }, 300);
});
});
</script>
Danke für Ihre Hilfe!
jquery
wp-enqueue-script
dabito
quelle
quelle
Antworten:
WordPress enthält zwar die jQuery-UI-Bibliotheken, nicht jedoch die UI / Effects-Bibliothek. Diese Bibliothek ist separat und eigenständig. Sie müssen eine Kopie der Datei effects.core.js einbinden und separat einreihen.
Beachten Sie, dass Sie es jquery-effects-core nennen sollten, wenn Sie es in die Warteschlange stellen, um die Konsistenz zu bestimmen.
Sie können es so einfügen:
Bearbeiten : Diese Antwort wurde vor WordPress 3.3 geschrieben, das nun die verschiedenen Effektbibliotheken als Teil des Kerns enthält. Sie können die Teile der Effektbibliothek, die Sie jetzt benötigen, einfach in eine Warteschlange stellen.
Die Liste der Bugs für diese Dateien befindet sich in wp-includes / script-loader.php, aber der Kernbuckel ist jquery-effects-core.
quelle
wp_enqueue_script( 'jquery-effects-fade' );
@dabito,
Sie laden Ihre Skripte nicht richtig ... Rufen Sie nicht
wp_enqueue_script()
in Ihrer Theme-Vorlagendatei auf (so wie es aussiehtheader.php
). Sie müssen diese Funktion von einem separaten Hook aus aufrufen.Fügen Sie in die
functions.php
Datei Ihres Themas den folgenden Code ein:Wenn beide Skripte ordnungsgemäß registriert sind, sollten sie problemlos geladen werden (indem die entsprechenden
<script />
Tags in die Kopfzeile eingefügt werden. Dann sollte Ihr anderer JavaScript-Code funktionieren.Wenn Sie Skripte zur Administratorseite hinzufügen möchten , fügen Sie
admin_enqueue_scripts
stattdessen Ihre Aktion hinzu .quelle
wp_enqueue_scripts
ist definitiv der bessere Weg und vermeidet die Notwendigkeit eines zusätzlichenis_admin()
Checks.Sie können die gesamte jQuery-Benutzeroberfläche auch direkt von Google aus in die Warteschlange stellen. So mache ich es:
Und da jQuery als Abhängigkeit für die jQuery-Benutzeroberfläche aufgeführt ist, müssen Sie es nicht manuell in die Warteschlange stellen. WordPress erledigt das automatisch für Sie.
quelle
Es scheint keine Standardlast für diese jQuery-Bibliothek zu geben (vollständige Liste hier ), daher müssen Sie das Skript wahrscheinlich registrieren, bevor Sie es in die Warteschlange stellen.
quelle
Nur ein paar Tipps. Wenn Sie Ihr Skript in die Warteschlange stellen, wird es für die gesamte Site einschließlich des Administrationsbereichs in die Warteschlange gestellt. Wenn Sie das Skript nicht im Admin-Bereich haben möchten, können Sie sie nur für die Site im Frontend einfügen.
quelle
wp_enqueue_scripts
Action nur für das Frontend ist. Danke :)Alle Antworten hier sind, obwohl sie funktionieren, technisch falsch.
Der richtige Weg, um jquery-ui und andere Bibliotheken einzuschließen, besteht darin, sie als Abhängigkeiten Ihres eigenen Skripts einzuschließen .
Dies ist wichtig, da Leistungstools diese Abhängigkeiten möglicherweise überprüfen, um die Ladereihenfolge Ihrer Skripts zu ändern und die Site zu optimieren.
Wenn Sie also jquery und jquery-ui verwenden möchten, erstellen Sie Ihre eigene .js-Skriptdatei und stellen Sie sie mit den aufgeführten Abhängigkeiten in eine Warteschlange. Für jede Bibliothek, die Sie verwenden, ist kein separater Enqueue-Befehl erforderlich:
Eine Liste aller verfügbaren Skripte zum Hinzufügen als Abhängigkeiten finden Sie hier: https://developer.wordpress.org/reference/functions/wp_enqueue_script/
quelle