• Gelöst wpapm

    (@wpapm)


    Hallo,

    ich wollte mir gerne die Adminbar einfärben und nutzte dafür im Editor -> Stile die Möglichkeit zusätzliches CSS anzugeben.

    #wpadminbar {
    background-color: green !important;
    }

    Klappt auch auf allen Seiten … mit Ausnahme im Backend (wp-admin). Dort wird die #wpadminbar nicht eingefärbt. Wieso nicht?

    Um jetzt auch die Leiste im Backend einzufärben habe ich eine zusätzliche Anweisung in die functions.php gesetzt

    function tt5_clone_admin_style() {
    wp_enqueue_style('admin-styles', get_template_directory_uri().'/style.apm-admin.css');
    }

    add_action('admin_enqueue_scripts', 'tt5_clone_admin_style');

    In der style.apm-admin.css steht aber nichts anderes als im Editor (CSS).

    Das sollte doch auch einfacher gehen? Mit einem einzigen Eintrag … den ich aber noch nicht gefunden habe 😉

Ansicht von 7 Antworten – 1 bis 7 (von insgesamt 7)
  • Moderator La Geek

    (@la-geek)

    Du musst dafür keine CSS-Datei einbinden, sondern einfach nur admin_head ansprechen

    function custom_admin_styles() {
      ?>
      <style type="text/css">
        ...Eigener CSS-Code...
      </style>
      <?php
    }
    add_action('admin_head', 'custom_admin_styles');
    Thread-Starter wpapm

    (@wpapm)

    @la-geek das hatte ich so ähnlich auch schon probiert, jetzt gerade nochmals nach deinem Muster, … im Dashboard wird die Zeile eingefärbt. Wechsele ich über „Alle Seiten“ und lasse mir Seiten anzeigen … kein Farbwechsel. Hm?

    Moderator threadi

    (@threadi)

    Frontend und Backend bei WordPress sind unabhängig voneinander. Daher greifen Stylings nur in einem von beiden.

    Du hast mit deinem 2. Vorgehen über eine Datei, aber schon fast das richtige gemacht. Du müsstest die Datei nur ebenfalls auch im Frontend einbinden. Also (ungetestet):

    function tt5_clone_admin_style() {
    if( ! is_user_logged_in() ) {
    return;
    }
    wp_enqueue_style('wpapm-admin', get_template_directory_uri().'/style.apm-admin.css');
    }

    add_action('admin_enqueue_scripts', 'tt5_clone_admin_style');
    add_action('wp_enqueue_scripts', 'tt5_clone_admin_style');

    Ich würde dir zusätzlich empfehlen als Handle nicht „admin-styles“ zu verwenden, da das so allgemein geschrieben auch von anderen genutzt werden könnte. Nimm lieber etwas was sich auf dich selbst bezieht, in meinem Beispiel hab ich das daher „wpapm-admin“ genannt.

    Als Alternativen dazu gibt es auch Plugins die bei der Individualisierung dieser Bereiche helfen, z.B.
    https://wordpress.org/plugins/customize-admin/
    https://wordpress.org/plugins/wp-custom-admin-interface/

    Moderator La Geek

    (@la-geek)

    Das sollte auf allen Seiten im Backend funktionieren. Caches gelöscht? Teste doch mal mit einem anderen Browser.

    Thread-Starter wpapm

    (@wpapm)

    @threadi Du bist mein Held für heute 😉 Klappt! Das ich vieles auch via Plugin erreichen könnte ist mir klar, ich möchte diese Nutzung aber minimieren.

    @la-geek Auch an dich ein Danke … auch wenn dein Vorschlag bei mir nicht klappte … erst wenn ich wieder zusätzlich CSS im Editor einsetzte (andere Farbe) war zu erkennen das über den Eintrag in der functions.php das Dashbord angesprochen wurde, über den dann zusätzlichen CSS-Eintrag im Editor wurden auch die Farben auf den Seiten (Eingeloggt als Admin) angezeigt.

    Eventuell funktioniert dein Hinweis @la-geek ja auch in einer anderen Umgebung … da ich unter Local WP lokal auf meinem LMDE Rechner arbeite würde ich das nicht ausschließen wollen.

    Aber … Problemchen gelöst 🙂 Danke euch beiden!

    Einen guten Wochenstart! Ich gehe jetzt mal in den Feierabend 😉

    Moderator La Geek

    (@la-geek)

    erst wenn ich wieder zusätzlich CSS im Editor einsetzte (andere Farbe) war zu erkennen das über den Eintrag in der functions.php das Dashbord angesprochen wurde, über den dann zusätzlichen CSS-Eintrag im Editor wurden auch die Farben auf den Seiten (Eingeloggt als Admin) angezeigt.

    Ach, du meintest die Seitenansicht im Frontend.
    Das Dashboard ist nur die Startseite im Backend. Das Backend ist alles im Adminbereich, die URLs des Adminbereiches fangen mit deine-domain.de/wp-admin an. Im Backend existiert auch eine Seitenansicht die über /wp-admin/edit.php?post_type=page aufgerufen wird und ich dachte, du meintest diese Seitenansicht (im Backend).

    Das Frontend ist das, was deine Besucher sehen. Auch wenn du als Admin angemeldet bist, kannst du das Frontend sehen (wäre auch kontraproduktiv, wenn das nicht möglich wäre). Aber das Frontend ist nicht die Adminoberfläche = Backend.

    Die Adminleiste wird im Backend und im Frontend angezeigt, aber mit unterschiedlichen CSS (eine fürs Backend und eine fürs Frontend) angesprochen.

    Du musst keine CSS-Dateien einbinden. Es sieht so aus, als ob du ein Child-Theme einsetzt. Hier existiert eine style.css (sollte existieren), in die du den CSS-Code für das Frontend eintragen kannst. Für das Backend ist der Code in der functions.php, den ich genannt hatte (der ja auch im Backend funktioniert).

    Aber, wenn es jetzt mit den eingebundenen CSS-Dateien klappt, ist das natürlich okay. Ich wollte dies nur der vollständigkeithalber erwähnt haben.

    Thread-Starter wpapm

    (@wpapm)

    @la-geek Danke für deine Erläuterungen!

Ansicht von 7 Antworten – 1 bis 7 (von insgesamt 7)

Du musst angemeldet sein, um auf dieses Thema zu antworten.