Logo im Header einfügen

  • Hallo Forum, wahrscheinlich schon tausendmal besprochen, trotzdem meine Frage: Ich möchte mein Logo mit CSS im Header einfügen habe diesen Code in der header.php eingegeben:

    Ich definiere die Klasse und rufe sie dann mit <div> auf.

    Die zweite Möglichkeit wäre die function.php zu ergänzen:

    function my_custom_login_logo() {
    echo '<style type="text/css">
    h1 a { background-image:url('.get_bloginfo('template_directory')
    .'/images/logo2_182.png) !important; }
    </style>';
    }

    add_action('login_head', 'my_custom_login_logo');

    Beide Möglichkeiten funktionieren nicht, wer kann mir helfen?
    Danke XEN

    Änderung:
    Wenn ich den absoluten Pfad eingebe (http://192.168.1.90/wordpress/wp-c…7/logo2_182.png) funktioniert es, aber so soll es nicht sein, ich arbeite in einer Entwicklungsumgebung und möchte nicht später alles nocheinmal anpassen.

    Gruß XEN

    Einmal editiert, zuletzt von XEN (5. Dezember 2011 um 11:56)

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Naja, was du gschrieben hast ist ja der komplette Pfad zum Verzeichnis, in dem die Bilder liegen. Das funktioniert schon, aber mir wäre ein relativer Pfad lieber, denn muss ich dann nicht nocheinmal anpassen, wenn ich veröffentliche, ist auch irgendwie schöner, als den Umweg zu gehen, die Seite an der Stelle neu zu laden. Es funktioniert auch nicht, wenn ich den Slash vor "images" wegnehme.
    Danke für die schnelle Antwort.
    Gruß XEN

  • Pack das Bild in den Unterordner images unter dem Themeverzeichnis und wähle Variante 1 ohne Slash (die CSS-Anweisung in die style.css des Themes packen) oder Variante 2, dann passt das... Mit dem Slash hast du einen absoluten Pfad. Meine URLs oben zeigen nur den Unterschied, was mit oder ohne Slash herauskommt.

    Einmal editiert, zuletzt von spickzettel (5. Dezember 2011 um 12:33)

  • Ich habe das Bild in beide Verzeichnisse kopiert, weil ich beide Varianten versucht habe. Grundsätzlich ist, denke ich, das /images Verzeichnis vorzuziehen, wenn es aber anders funktioniert wäre mir das auch recht.
    Möchte halt nicht die lange URL haben.
    Danke Gruß XEN

  • Zitat

    Möchte halt nicht die lange URL haben.


    dann setzte es genau so um, wie spickzettel geschrieben hat, dann passt das auch. UND, entferne den CSS Eintrag aus der header.php, das gehört in die style.css.

  • Ich stehe da wirklich auf der Leitung:

    Ich nehme mal an, dass die URL zum Bild nicht stimmt, der Slash / am Anfang muss vermutlich weg.

    Mit Slash: background-image: url(/images/logo2_182.png);
    wird zu: http://www.example.de/images/logo2_182.png
    Ohne Slash: background-image: url(images/logo2_182.png);
    wird zu: http://www.example.de/wp-content/[themeordner]/images/logo2_182.png

    Du schreibst "wird zu" http://www.example.de/images/logo2_182.png, das ist doch aber ein absoluter Pfad, was ich nicht so gerne haben möchte.
    Oder verstehe ich da was falsch? Oder meinst du mit "wird zu" das was Wordpress dann dazu ergänzt?
    Was jedenfalls nicht funktioniert ist

    HTML
    /images/logo2_182.png

    oder aber

    HTML
    images/logo2_182.png

    Ich denke ein relativer Pfad geht den direkten Weg zum angegebenen Verzeichnis vom akluellen Standpunkt aus, während der absolute Pfad die komplette URL neu einliest.

    Einmal editiert, zuletzt von XEN (5. Dezember 2011 um 12:52)

  • Hast Du denn jetzt mal das gemacht, was vorgeschlagen wurde?

    Code
    background-image: url(/images/logo2_182.png);

    ersetzen durch

    Code
    background-image: url(images/logo2_182.png);
  • der von @infected vorgeschlagene code gehoert in die style.css;

    wenn du hintergrundbilder im template (zB in header.php) verwendest (solltest du aber nicht - wie gericoach schon gesagt hat, styles gehoeren in stytle.css), muss der absolute pfad rein;
    zB

    PHP
    <style type="text/css">
    
    
    .robot{
     background-image: url(<?php echo get_stylesheet_directory_uri(); ?>/images/logo2_182.png);
    ...



    http://codex.wordpress.org/Function_Refer…t_directory_uri

  • Hallo Alchymyth,
    danke für deinen Post, ich habe die CSS Klasse in die CSS Datei verschoben und jetzt läuft die Sache.
    Hätte nicht gedacht, dass es einen Unterschied macht, wo man die CSS Klasse speichert. Danke an alle, besten Gruß XEN

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!