WordPress Editor Bereich anpassen (Plugin)

Der Editorbereich von WordPress kann für einen Laien recht unübersichtlich sein oder es gibt auch Funktionen, die der eine oder andere einfach nicht benötigt und sie deshalb nur stören. Bereiche, die man aber viel nutzt, die kommen dadurch zu kurz oder gehen unter, da der Anwender nicht jeden Tag damit arbeite.

CustomAdminCSS

In einem Projekt wollten die Anwender der Bereich einfacher und übersichtlicher! Dazu kann man entweder die Core-Dateien im Backend bearbeiten, und das dann nach jedem Update, insofern die Datei betroffen ist oder man nutzt die Pluginschnittstelle und bringt in eine CSS-Datei in den Header, die die jeweiligen Bereiche ausblendet. So ist nun die folgende Lösung. Dabei ist kein großes Plugin entstanden, kein Klickmenü im Backend, lediglich aktivieren und die CSS-Datei anpassen, was man ja eigentlich nur einmal macht. Die Lösung ist einfach und funktioniert. Wer ebenso einige Container im backend Deaktivieren will, der bediene sich.

Die CSS-Datei wird nur geladen, wenn der Editor genutzt wird, ansonsten wird die Datei nicht über den Header eingebunden, schont ein wenig Ressourcen. Soll also noch mehr mittels CSS geändert werden, dann das Plugin anpassen. Derzeit wird nur implementiert, wenn Datei post.php, post-new.php, page.php oder page-new.php geladen werden.


if( strpos($_SERVER['REQUEST_URI'], 'post.php') !== false || strpos($_SERVER['REQUEST_URI'], 'post-new.php') !== false || strpos($_SERVER['REQUEST_URI'], 'page.php') !== false || strpos($_SERVER['REQUEST_URI'], 'page-new.php') !== false )

Anforderungen:

Das Plugin arbeitet ab Version 2.0* von WordPress.

Was macht das Plugin?

Es formatiert den Editorbereich neu, vorrangig gedacht für das Ausblenden von Containern, die nicht benötigt werden.

Installation:

  1. Den Download lokal entpacken
  2. Den Ordner incl. Datei in das Plugin-Verzeichnis kopieren: /wp-content/plugins/
  3. Die CSS-Datei anpassen, die möglichen Bereiche im folgenden
  4. Das Plugin im Backend aktivieren

Folgende IDs können unter anderem angesprochen werden und mit Hilfe von CSS neu formatiert werden.

  • #categorydiv.dbx-box,
  • #commentstatusdiv.dbx-box,
  • #passworddiv.dbx-box,
  • #slugdiv.dbx-box,
  • #authordiv.dbx-box,
  • #postexcerpt.dbx-box,
  • #trackbacksdiv.dbx-box,
  • #postcustom.dbx-box,
  • #wp-bookmarklet,
  • #pageparent.dbx-box,
  • #pageorder.dbx-box,
  • #poststatusdiv.dbx-box,
  • #posttimestampdiv.dbx-box,
  • #uploading

Beispiel

Der folgende Syntax sorgt dafür, dass eine ganze Reihe von Container nicht dargestellt werden und der Kategoriebereich größer dargestellt wird, so dass man nicht scrollen muss, je nach Anzahl der Kategorien, die man verwendet.


#commentstatusdiv.dbx-box,
#passworddiv.dbx-box,
#slugdiv.dbx-box,
#slugdiv.dbx-box,
#authordiv.dbx-box,
#postexcerpt,
#trackbacksdiv,
#postcustom,
#wp-bookmarklet,
#pageparent.dbx-box,
#pageorder.dbx-box {
	visibility: hidden !important;
	height: 0 !important;
}

#categorychecklist {
	height: 350px !important;
}

Download:



Ist die Arbeit nicht 1 Euro wert?
Jede Spende wird dankbar angenommen und ermöglicht das weitere Arbeiten an freier Software.
Möchtest du mehr oder anders spenden, so besuche meine Wunschliste.

Download als php-Datei: downloads.wordpress.org/plugin/custom-admin-css.zip - 24 kByte

Historie

  • v0.1 - Idee umgesetzt
  • v0.2 - Aktiv für alle Benutzer, außer Admin (!current_user_can('level_10'))
  • v0.3 - WP 2.5 fähig; hosting bei wordpress.org, css-beispiel erweitert

Hinweis

Möchte man das Backend umfassend und einfach gestallten, also Bereiche deaktivieren, so empfehle ich das Plugin Custom Admin Menu. Damit lassen sich Bereiche, außer im Editor (deshalb das obige Plugin) deaktivieren und an Wunschposition verschieben.

33 Kommentare

  1. Hallo Frank,

    danke für dieses interessante plugin. Es müsste doch theoretisch möglich sein, dass nur für die "Autoren" gewisse Bereiche ausgeblendet werden und der admin weiterhin alle Felder sehen kann.

    Wie müsste ich Deinen code in der php erweitern, dass vor der Ausführung Deines codes eine Abfrage gemacht wird, welchen Status der jeweilige Verfasser eines Beitrages hat? Wie gesagt, soll der admin alle Felder weiterhin sehen können. Dein plugin soll bei Rängen unter dem admin zum Einsatz kommen.

    Vielen Dank im voraus

    monk77

  2. Aber sicher ist das möglich, ich habe es lediglich in diesem Wirf nicht drin, weil es eine reine Anregung sein soll und in meinen vielen Fällen mittlerweile seine Dienste tut.
    Ansonsten durchsuche mal mein Blog nach "user level". Unter anderem kommt da folgender Syntax.

  3. Hallo Frank und monk77,

    mal schauen, ob ich hier Quellcode posten kann:

    user_level) > 8) {
    			$fbCustomAdminCSS = '' . "\n";
    			}
    			else {
    			$fbCustomAdminCSS = '' . "\n";
    			}
    		print($fbCustomAdminCSS);
    		}
    	}
    }
    
    add_filter('admin_head', 'fbCustomAdminCSS');
    ?>
    
  4. Hallo Marco,

    danke für Deine Hilfe. Dein code scheint mir aber nicht ganz vollständig zu sein oder? Ich habe folgenden code versucht. Dieser funktioniert aber leider nicht.

    <?php
    /*
    Plugin Name: Custom Admin CSS
    Plugin URI: https://bueltge.de/
    Description: Customize your editor-area.
    Version: 0.1
    Author: Frank Bueltge
    Author URI: https://bueltge.de/
    */

    if( !function_exists( 'fbCustomAdminCSS' ) ) {
    function fbCustomAdminCSS() {
    // only, if load the site
    if( strpos($_SERVER['REQUEST_URI'], 'post.php') !== false || strpos($_SERVER['REQUEST_URI'], 'post-new.php') !== false || strpos($_SERVER['REQUEST_URI'], 'page.php') !== false || strpos($_SERVER['REQUEST_URI'], 'page-new.php') !== false ) {
    $fbCustomAdminCSS = '' . "\n";
    print($fbCustomAdminCSS);
    }
    }
    }

    if (intval($userdata->user_level)

  5. Hi Frank,

    leider klappt es damit immer noch nicht. Ich habe die Benutzerlevelabfrage direkt für die add_filter gesetzt. Nachdem ich den code so nutzen wollte, liess sich meine Seite garnicht mehr aufrufen.

    Bin echt bald am verzeifeln. Seit drei Tagen plage ich mich damit jetzt schon rum und es ist kein Land in Sicht.

    Grüße
    monk77

  6. @Frank

    Bist ein Engel. Bin ja jetzt mal gespannt wie dieser code ausschaut. Ich Depp habe daran drei Tage gesessen und bin zu keinem Ergebnis gekommen. lach

  7. Besten Dank für das Plugin, ist genau was ich gesucht hatte.

    @Ralf Hortt
    Super Tipp! Damit es funktioniert muss es allerdings heissen:

    display:none !important;

    Aus meiner Sicht ist es die definitiv bessere Methode, da der reservierte Platz so zu 100% frei gegeben wird (mit der "visability" in Kombination mit "height" war immer ein Lücke zu sehen).

  8. Dies sieht aus wie eine große Plug-in, und ich würde gerne benutze, aber es scheint nicht zu funktionieren für mich. Ich benutze WordPress-Version 2.5.1 und ich glaube, dass ich das Plugin installiert ist richtig. Gibt es eine Möglichkeit zur Behebung dieses Problems des Steckers in nicht funktioniert.

    English Version

    This looks like a great plug in and I would love to use it but it doesn't seem to work for me. I am using WordPress version 2.5.1 and I believe I installed the plug in correctly. Is there a way to fix this issue of the plug in not working.

  9. Eine dumme Frage ;-? Wie kann ich das Dashboard mit einbinden?

    if( strpos($_SERVER['REQUEST_URI'], 'post.php') !== false || strpos($_SERVER['REQUEST_URI'], 'post-new.php') !== false || strpos($_SERVER['REQUEST_URI'], 'page.php') !== false || strpos($_SERVER['REQUEST_URI'], 'page-new.php') !== false )

    strpos($_SERVER['REQUEST_URI'], 'admin.php') !== false ) // wie heisst denn das ding eigentlich???? upsala

    Das in Verbindung mit "WPlite" und "Dashboard Managment" würde doch erlauben alles im Adminbereich über Deine "my_admin.css" zu stylen? Oder denke/mache ich da was falsch?

    ajl

  10. Wie immer tausend Dank... Wie Wedge (oder war es rot 5) - dereinst im Anflug auf den Todesstern- möchte ich mich rufen "Ich bin fast da!" ... oder war es gar LUKe?

    Ich komme mit dem Trick da oben an das Design der "Schreiben"- und "Verwalten"-Seite. Doch beim Dashboard hacke ich seit Stunden im Kreis. Nix tut sich... Mein firebug zeigt keine Auswirkungen aus der my-admin.css

    Dann merkte ich eben das mein Dashboard nach dem Einloggen als URL "http://localhost/wordpress/wp-admin/" anzeigt! Erst wenn ich händisch "http://localhost/wordpress/wp-admin/index.php" eingebe sehe ich meine Verwurstungen!
    (ich bin auf einem lokalem xampp unterwegs unter win xp)

    Jemand ne Ahnung? Und nebenbei - eigentlich würde ich in "WPlite" gerne "Schreiben" und "Verwalten" ausblenden. Alle Submenues davon kriege ich auch dort weg - oder hier mit Deinem tollen Plugin - nur leider nicht die beiden Oberpunkte. Ich würde nämlich gerne den User nur in ein (mit dashboard managment reduziertes und widget aufgepimptes) dashborad jagen und lediglich die edit.php zum Editieren rausholen.

    Vermutung: wplite verträgt sich nicht mit deinem plugin?

    gruss ajl

  11. @ajl: Beide Plugins vertragen sich, habe sie auch in Kombination im Einsatz. Eigentlich sollte ja WPLite reichen.
    Aber zu deiner Sache. Du willst, dass registriere User nur das Dashboard sehen?
    Wenn ja, dann würde ich mit dem Plugin Role Manager eine neue Rolle erstellen und nur das zulassen, dann ist es nicht via CSS ausgeblendet und versierte User merken das. Sondern es wird nach Rechten abgefragt und die LAdezeit ist auch besser, weniger Code.
    Definitiv die bessere Lösung.

Kommentare sind geschlossen.