Hinzufügen eines jQuery-Skripts zum WordPress-Administrator
Lesezeit: 2 Minuten
Aus irgendeinem Grund kann ich die WordPress-/wp-admin-Seiten nicht dazu bringen, eine einfache Abfragedatei auszuführen. Es funktioniert nur, wenn ich jquery in meiner „functions.php“ in meinem Theme-Ordner deregistriere, aber dann muss ich alle jquery.ui-Dateien separat neu registrieren, was mühsam ist. Ich verwende die Multisite-Installation von WordPress 3.0. Ich versuche, die Kerndateien von wp nicht zu berühren.
Es wird in der Quelle angezeigt und verlinkt auf die Datei, aber das Skript wird nicht ausgeführt. Hier ist, was ich in meiner Functions.php habe:
Da ich mir nie sicher bin, ob es keinen Konflikt geben wird, verwende ich dies standardmäßig, da es sich darum kümmert und ich bei meinem Normal bleiben kann: (function($){ // alle meine jQuery mit $(‘selectors ‘) })(jQuery);
– David Hobs
25. September 2012 um 21:37 Uhr
Beachten Sie, dass die in WordPress enthaltene jQuery ausgeführt wird NoConflict-Modus Soweit ich weiß, bedeutet das, dass es keine gibt $aber stattdessen jQuery. Das ist wahrscheinlich der Grund, warum Sie die integrierte jQuery abgemeldet und die von Google CDN verwendet haben. Das läuft wahrscheinlich nicht in diesem Modus.
Ich habe keine Erfahrung mit WordPress, daher kann es sein, dass ich hier einen Fehler mache. Stellen Sie einfach sicher, dass die integrierte jQuery verfügbar ist, und laden Sie Ihr Skript.
function my_script() {
if (!is_admin()) {
wp_enqueue_script('custom_script', get_bloginfo('template_url').'/js/myScript.js', array('jquery'));
}
if(is_admin()){
wp_enqueue_script('custom_admin_script', get_bloginfo('template_url').'/js/admin_script.js', array('jquery'));
}
}
Ändern Sie Ihre zu verwendende admin_script.js jQuery stattdessen $.
Sehen Sie, ob das für Sie funktioniert. Wenn Sie es verwenden möchten $ Du könntest wahrscheinlich schreiben var $ = jQuery; oben in Ihrer admin_script.js.
jQuery übergibt sich tatsächlich selbst als erstes Argument der aufgerufenen Funktion, sodass Sie schreiben können jQuery(document).ready(function ($) { $('#blah').click(); }); usw. Oder natürlich einfach jQuery(function ($) { $('#blah').click(); });.
Da ich mir nie sicher bin, ob es keinen Konflikt geben wird, verwende ich dies standardmäßig, da es sich darum kümmert und ich bei meinem Normal bleiben kann: (function($){ // alle meine jQuery mit $(‘selectors ‘) })(jQuery);
– David Hobs
25. September 2012 um 21:37 Uhr