1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

Problem mit masonry (jQuery) - Admin Bar ist weg.

Dieses Thema im Forum "Plugins und Widgets" wurde erstellt von Jabberblab, 22. Januar 2013.

  1. Jabberblab

    Jabberblab Member

    Registriert seit:
    22. Januar 2013
    Beiträge:
    10
    Zustimmungen:
    0
    Hallo!

    Ich habe vor das jQuery Plugin masonry auf meiner Seite einzubauen. So weit hat das auch geklappt, die gewünschten Effekte funktionieren einbahnfrei. Nun ist es aber so, dass auf einmal meine Admin Bar verschwunden ist (ich meine die Leiste, die oben angezeigt wird, sofern man eingeloggt ist).

    Nach langer recherche gibt es nun die Theorie, dass sich verschiedene jQuery Versionen eventuell gegenseitig überschreiben. So weit ich weiß wird ja mit dem <?php wp_head(); ?> eine jQuery version eingebunden.

    So hab ich das ganze gemacht:

    header.php:

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Dabei ist mir aufgefallen, dass mein Admin Bar Problem von folgender Reihenfolge abhängt:

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Admin Bar funktioniert/Plugin nicht.

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Plugin funktioniert/Admin Bar dagegen nicht.


    Ich bin so langsam etwas ratlos, weil ich wirklich keinen Fehler finde. Habt Ihr eine Idee oder Anregung?

    Schon mal vielen Dank für Eure Mühen und Antworten!

    P.S. Ich habe Euch noch einen Screenshot vom Code angehangen, weil der erste Code etwas schwer zu lesen ist in der Forenansicht.
     

    Anhänge:

  2. Tutrix

    Tutrix Well-Known Member

    Registriert seit:
    21. Mai 2010
    Beiträge:
    3.655
    Zustimmungen:
    5
    die jquery.masonry.min.js ist ja bereits in der WP Installation vorhanden, wp-includes/Js/Jquery/....
    vielleicht lässt du einfach mal die doppelte Einbindung weg
     
  3. Jabberblab

    Jabberblab Member

    Registriert seit:
    22. Januar 2013
    Beiträge:
    10
    Zustimmungen:
    0
    Hi, danke für die Antwort!

    ich habe Deinen Vorschlag versucht umzusetzen:

    <?php wp_head(); ?>
    <script type="text/javascript" src="http://xyz.de/wp-includes/js/jquery/jquery.masonry.min.js">
    $(window).load(function(){
    $('#container').masonry({
    // options
    itemSelector : '.item',
    columnWidth : 240
    });
    });
    /* ]=]=> */


    </script>

    Nur leider funktioniert das nicht. Siehst Du einen Fehler?

    [Nachtrag]
    P.S. mit jQuery anstatt $ geht's auch nicht.
     
    #3 Jabberblab, 22. Januar 2013
    Zuletzt bearbeitet: 22. Januar 2013
  4. Tutrix

    Tutrix Well-Known Member

    Registriert seit:
    21. Mai 2010
    Beiträge:
    3.655
    Zustimmungen:
    5
    also ich meine diesen Teil (aus deinem Code im ersten Post)
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    mal weglassen

    wenn das nichts ändert oder deine Effekte nicht mehr funktionieren
    kannst du mal mit $.noConflict arbeiten

    also diesen Teil (aus deinem Code im ersten Post)
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    ersetzen durch

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
  5. Jabberblab

    Jabberblab Member

    Registriert seit:
    22. Januar 2013
    Beiträge:
    10
    Zustimmungen:
    0
    Also den ersten Teil weglassen bewirkte nur, dass kein Effekt mehr eintrat (keine Admin Bar)

    Die noConflict lösung:

    <?php wp_enqueue_script('jquery'); ?>
    <?php wp_head(); ?>
    <script type="text/javascript">
    $.noConflict();
    jQuery(document).ready(function($){
    $('#container').masonry({
    // options
    itemSelector : '.item',
    columnWidth : 240
    });
    });
    </script>

    Hier habe ich keine Admin Bar und keinen Effekt.

    Puuh, irgendwo ist da der Wurm dirn.
     
  6. Tutrix

    Tutrix Well-Known Member

    Registriert seit:
    21. Mai 2010
    Beiträge:
    3.655
    Zustimmungen:
    5
    das durch $.noConflict(); gar nichts mehr geht, kann eigentlich nicht sein

    bei deinem jetzigen Code fehlt ja die
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    obwohl du schreibst das ohne diese zusätzliche Einbindung auch nichts geht

    wobei ich jetzt ja nicht weiß, was für Varianten du alles getestet hast
    was noch alles in deinem Theme eingebunden ist
    oder was du sonst noch doppelt einbindest

    vielleicht steht ja dies
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    oder dies
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    schon in deinem Theme und fügst es nochmal ein


    ach ja...........

    das kann ja auch nicht sein, die Admin Bar hat ja nichts mit deinem Theme zu tun, folglich müssen auch keine Dateien aus dem Theme geladen werden um diese anzuzeigen
     
    #6 Tutrix, 22. Januar 2013
    Zuletzt bearbeitet: 22. Januar 2013
  7. Jabberblab

    Jabberblab Member

    Registriert seit:
    22. Januar 2013
    Beiträge:
    10
    Zustimmungen:
    0
    Hm...also nein eigentlich nicht.
    Ich stehe noch so ziemlich am Anfang des Aufbaus, sodass ich eigentlich nur das jQuery Plugin versucht habe einzubauen.

    Hier kannst Du Dir das ansehen. Aber nur wenn Du Zeit und Lust hast, sonst muss ich ohne Admin Bar auskommen.

    Nochmals vielen Dank!
     
  8. Tutrix

    Tutrix Well-Known Member

    Registriert seit:
    21. Mai 2010
    Beiträge:
    3.655
    Zustimmungen:
    5
    das heißt jetzt funktionieren die Effekte obwohl die jquery.masonry.min.js nicht zusätzlich eingebunden ist?
    ist ja derzeit "nicht" in der header.php

    und in diesen jetzigen Zustand funktioniert die Admin Bar nicht?
     
  9. Jabberblab

    Jabberblab Member

    Registriert seit:
    22. Januar 2013
    Beiträge:
    10
    Zustimmungen:
    0
    Nein in diesem Zustand funktionieren die Effekte nicht und die Admin Bar ist leider weg.
     
  10. Tutrix

    Tutrix Well-Known Member

    Registriert seit:
    21. Mai 2010
    Beiträge:
    3.655
    Zustimmungen:
    5
    du bist ja lustig ;)
    dann würde ich die jquery.masonry.min.js wieder einbinden

    und mal

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    ans Ende setzen, also

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
  11. Tutrix

    Tutrix Well-Known Member

    Registriert seit:
    21. Mai 2010
    Beiträge:
    3.655
    Zustimmungen:
    5
    sehe gerade du hast auch einen Fehler in der header.php

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    das rote muss weg, vermutlich ein Rest von etwas das du gelöscht hast

    vielleicht ist ja auch dies das Problem

    wird die Admin Bar nur im Frontend nicht angezeigt oder auch im Dashbard nicht?
     
    #11 Tutrix, 22. Januar 2013
    Zuletzt bearbeitet: 22. Januar 2013
  12. Jabberblab

    Jabberblab Member

    Registriert seit:
    22. Januar 2013
    Beiträge:
    10
    Zustimmungen:
    0
    Habe alle Varianten noch mal mit

    <?php wp_head(); ?>
    </head>

    unten ausprobiert.

    Funktionierte leider auch nicht. Mir ist aufgefallen, dass die Admin Bar nur funktioniert, wenn ich das hier weglasse:

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


     
  13. Jabberblab

    Jabberblab Member

    Registriert seit:
    22. Januar 2013
    Beiträge:
    10
    Zustimmungen:
    0
    Nur im Frontend. Und danke! die </div> ist weg!
     
  14. Tutrix

    Tutrix Well-Known Member

    Registriert seit:
    21. Mai 2010
    Beiträge:
    3.655
    Zustimmungen:
    5
    tja wenn ohne

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    alles funktioniert, dann lass es weg ;)
     
  15. Jabberblab

    Jabberblab Member

    Registriert seit:
    22. Januar 2013
    Beiträge:
    10
    Zustimmungen:
    0
    Ja alles außer das jQuery Plugin...

    Ich denke ich verzichte jetzt erst mal auf die Admin Bar im Frontend und mache erst mal mit der Programmierung weiter. Vielleicht kommt mir irgendwann noch die Erleuchtung ;)

    Was ein Katastrophenprojekt. Aber ich muss ja unbedingt so tolle jQuery Effekte nutzen...

    Dankesehr!
     
  16. Tutrix

    Tutrix Well-Known Member

    Registriert seit:
    21. Mai 2010
    Beiträge:
    3.655
    Zustimmungen:
    5
    gerade noch einen Fehler entdeckt ;)

    du muss in der header.php ans Ende das öffnende

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    einfügen, damit dies in allen anderen Dateien geladen wird

    und dafür aus der index.php entfernen
     
  17. Jabberblab

    Jabberblab Member

    Registriert seit:
    22. Januar 2013
    Beiträge:
    10
    Zustimmungen:
    0
    ohja stimmt! Danke für den Hinweis!
     
  18. Tutrix

    Tutrix Well-Known Member

    Registriert seit:
    21. Mai 2010
    Beiträge:
    3.655
    Zustimmungen:
    5
    ans Ende ;)

    also
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
  19. Jabberblab

    Jabberblab Member

    Registriert seit:
    22. Januar 2013
    Beiträge:
    10
    Zustimmungen:
    0
    Hi, habe grade durch Zufall (programmiere noch meinen Blog neu) die Lösung für das Problem gefunden.

    jQuery muss man bei Wordpress grundsätzlich in der footer.php einbinden. Umzwar unmittelbar vor dem </body> Tag:

    <!-- Load jQuerey from google. We also need jQuerey UI to animate color -->
    <script type="text/javascript" src="http://www.google.com/jsapi"></script>
    <script type="text/javascript">
    google.load("jquery", "1");
    google.load("jqueryui", "1");
    </script>
    <!-- Load our local script -->
    <script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/jquery.masonry.min.js"></script>
    <script type="text/javascript">
    /* <![CDATA[ */
    jQuery(window).load(function(){
    jQuery('#container').masonry({
    // options
    itemSelector : '.item',
    columnWidth : 240
    });
    });
    /* ]]> */


    </script>

    </body>

    Funktioniert wunderbar und die Admin Bar ist da wo sie sein soll :)

    Noch mal ein großes Dankeschön an Art fo Pic!
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden