Wenn der Benutzer kein Administrator ist, jQuery abmelden?

Lesezeit: 3 Minuten

Wenn der Benutzer kein Administrator ist jQuery abmelden
W3Geek

Ich hoffe wirklich, dass dies keine doppelte Frage ist. Ich beginne meine Reise in die WordPress-Designentwicklung. Ich habe den Codex als Dokumentation verwendet, um jede von mir erstellte Komponente zu schreiben. Allerdings bin ich auf einen Ausschnitt gestoßen, den ich aus irgendeinem Grund nicht verstehen kann.

if ( !is_admin() ) {
    wp_deregister_script( 'jquery' );
    wp_register_script( 'jquery', ( 'ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js' ), false, null, true );
    wp_enqueue_script( 'jquery' );
}

Wenn Sie das Snippet in reinem Englisch lesen, heißt es: Wenn der Benutzer kein Administrator ist, jQuery abmelden, erneut registrieren und für die Ausgabe in die Warteschlange stellen, wenn die Seite zum richtigen Zeitpunkt gesendet wird. Warum sollte ich das tun, wenn ich einfach jQuery zu einem Satz von ‘‘-Tags hinzufügen und damit fertig sein kann?

BEARBEITEN

Hätte erwähnen sollen, wo ich diesen Ausschnitt entdeckt habe. Ich habe es in der Datei functions.php auf Blank Theme von gefunden http://digwp.com/2010/02/blank-wordpress-theme/

  • Ohne mehr Kontext können wir unmöglich wissen, warum jemand das tun würde.

    – Kevin B

    20. Januar 14 um 16:31 Uhr

  • Macht WordPress jemals Sinn?

    – m59

    20. Januar 14 um 16:31 Uhr

  • Ich verstehe das nicht??? Ich habe es stundenlang gegoogelt und ein paar Artikel gelesen, in denen etwas über das Hinzufügen von jQuery zum Backend für Administratoren erwähnt wird, aber das wäre nicht das, da überprüft wird, ob der Benutzer kein Administrator ist.

    – W3Geek

    20. Januar 14 um 16:33 Uhr

  • Wahrscheinlich hast du mehr Glück mit einer Antwort drüben WordPress-Forum.

    – Stypon

    20. Januar 14 um 16:34 Uhr

  • Alles, was dieses Snippet an dieser Stelle bewirkt, ist möglicherweise, dass bestimmte Plugins nicht funktionieren. (Skripte, die zuvor registriert wurden, würden jetzt geladen, bevor jquery hinzugefügt wurde.) Wenn das wirklich die Absicht ist, ist dies eine schreckliche Methode, dies zu erreichen.

    – Kevin B

    20. Januar 14 um 16:34 Uhr


1643791746 192 Wenn der Benutzer kein Administrator ist jQuery abmelden
David Ross

is_admin() prüft, ob der Strom Seite angezeigt wird, ist eine Admin-Dashboard-Seite. Um zu überprüfen, ob die Nutzer ein Admin ist, würden Sie verwenden current_user_can(‘Administrator’) — oder, noch besser, nach einer bestimmten Fähigkeit suchen.

Der Zweck dieses Codes besteht darin, die Version von jQuery, die mit WordPress geliefert wird, für Admin-Seiten (die viel jQuery und AJAX verwenden) intakt zu lassen, aber auf Themenseiten eine andere zu laden. Sie haben vielleicht versucht, eine neuere Version zu laden als die, die damals mit WordPress geliefert wurde, oder sie haben einfach versucht, sie aus dem CDN von Google zu laden.

Dieses Skript lädt eine bestimmte Version von jquery, eigentlich eine ziemlich alte, da Version 1.10.2 die aktuellste Version ist.

Wahrscheinlich wird es in einem Plugin verwendet, wo einige Javascript-Funktionen in neueren Versionen von jquery kaputt sind.

Versuchen Sie nach Möglichkeit zu vermeiden, Skripte direkt im Kopf mit Skript-Tags zu setzen. Auf diese Weise ist es möglich, Skripte dynamisch zu laden/entladen (wie Sie demonstriert haben).

  • Ja, ich habe gesehen, wie alt es war, und ich dachte, wut? Warum eine ältere Version von jQuery verwenden, wenn ich eine neue verwenden kann, wenn ich möchte. Ja, das finde ich sinnvoller. Ich kann nicht viel Dokumentation zu diesem Snippet finden, außer Hier, Hierund Hier die ziemlich nutzlos sind, um zu beschreiben, wie der Code tatsächlich funktioniert.

    – W3Geek

    20. Januar 14 um 16:43 Uhr


Die Logik ist wahrscheinlich:

register_unminified_jquery();
if(!admin) {
    unregister();
    register_minified_jquery();
}

  • ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js Es registriert tatsächlich eine verkleinerte Version von jQuery. Ich hätte es erwähnen sollen, aber ich fand es ein Thema namens Blank Theme von digwp.com/2010/02/blank-wordpress-theme

    – W3Geek

    20. Januar 14 um 17:02 Uhr

  • @W3Geek: Es registriert eine verkleinerte Version von jquery für Nicht-Admins. Vielleicht registriert es an anderer Stelle ein unverkleinertes

    – Erich

    20. Januar 14 um 17:15 Uhr

  • Oh lol, daran habe ich gar nicht gedacht. Ich habe überall gesucht, wo die nicht minimierte Version von jQuery geladen werden sollte, und konnte nichts finden.

    – W3Geek

    20. Januar 14 um 17:45 Uhr

.

739070cookie-checkWenn der Benutzer kein Administrator ist, jQuery abmelden?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy