Wer hat Lust auf WordPress-Plugin-Betatest?
5. Januar 2007 von Michael | Wordpress
Ausgangssituation
Wenn man in WordPress einen neuen Artikel schreibt und z.B. auf „Zwischenspeichern“ klickt, so wird die Seite neu geladen und am Ende der Seite wird in einem iFrame die komplette Webseite angezeigt, und diese enthält den bisherigen Artikeltext.
Einerseits ist das toll, weil man 1:1 sieht, wie der Artikel aussehen wird, ob Bilder richtig positioniert sind, etc.
Ein gravierender Nachteil ist jedoch, dass das Laden der Seite dadurch sehr viel Zeit in Anspruch nimmt, es dauert zum Teil „ewig“, bis das Admin-Interface aufgebaut ist, gerade wenn man im Blog externe Dinge wie Adense, Counter, 80×15-Buttons, YouTube-Videos, etc. von extern eingebunden hat.
Außerdem ist es zwar bei DSL-Flatrate egal, wenn immer die komplette Seite inkl. Header, Sidebar, Footer etc. geladen wird, aber es gibt immer noch einige Leute, die per ISDN oder sogar analog angebunden sind.
Ansatz
Es gibt das WordPress-Plugin Kill Preview, das wirft diesen iFrame komplett raus und ersetzt den Skip-Link oben rechts („Springe zur Vorschau“) mit einem Popup-Link, in dem dann die komplette Seite geladen wird.
Mir persönlich wäre es aber lieber, wenn die Vorschau direkt erscheint, nur sollte eben nicht via iFrame die komplette Frontend-Seite geladen. Beispielsweise Mediawiki (Software von Wikipedia) bietet so etwas, dort erscheint in einer Vorschau der Inhalt ohne iFrame.
Lösung
Ich habe daher ein Plugin geschrieben, dass auf dem Kill-Preview-Plugin basiert, aber eine Text-Vorschau im Beitrag bietet. Bilder sagen bekanntlich mehr als 1000 Worte:
Der Bereich kann auf Wunsch auf- und zugeklappt werden. Wie man im Bild sieht, kann die Ausgabe formatiert werden. Dazu erstellt man die Datei style_preview.css
im Plugin-Verzeichnis und weist darin dann die wichtigsten CSS-Regeln zu. Man muss jedoch die ID „preview“ voranstellen. Im Folgenden ein Beispiel-Auszug aus einem solchen CSS:
#preview { width: 625px; color: #333; font: 100%/1.5em "Lucida Grande", verdana, helvetica, arial, sans-serif; padding: 0 20px 0 20px; }
#preview a, #preview a:link { color: #43A806; border: 0 none; }
#preview a:visited { color: #43A806; }
#preview strike { text-decoration: line-through; color: #919191; }
#preview a img { border: none; }
#preview h3 { font-size: 115%; padding: 1em 0 0.3em }
Betatester
Das Plugin funktioniert wunderbar bei mir, jedoch gab es beim Testen einen Konflikt mit dem Plugin „Exec PHP“ (Fehlermeldung von Exec-PHP, die zum Abbruch führt). Ich bin dem allerdings noch nicht weiter nachgegangen.
Da ich im Plugin mit ob_start() (= Ausgabe-Pufferung) arbeite, kann es zu Konflikten mit anderen Plugins kommen. Daher möchte ich mehr über die Praxistauglichkeit erfahren, bevor ich das Plugin offiziell rausbringe.
Deshalb würde es mich freuen, wenn sich ein paar Freiwillige finden, die das Plugin testen möchten und mir entweder hier als Kommentar oder per Email Feedback geben. Ich stelle einfach mal den Download direkt hier rein: Replace Post Preview (zip, 2k)
Installation:
- Wie gewohnt entpacken und ins WordPress-Plugin-Verzeichnis (oder ein Unterverzeichnis vom Plugin-Verzeichnis) hochladen
- Unter WP-Administration > Plugins aktivieren
Damit sollte es schon funktionieren. Um jetzt auch noch die Ausgabe besser zu formatieren, legt Ihr die Datei style_preview.css
im Plugin-Verzeichnis ab und formuliert dort die CSS-Regeln, siehe die obige Beschreibung.
So, und nun seid Ihr dran, ich bin über jedes Feedback dankbar :)
12 Comments:
1
Mario
6. Januar 2007, 1:38
Plugin hochgeladen und aktiviert. Keine Probleme!
Möchte ich einen Artikel editieren/schreiben/zwischenspeichern:
Fatal error: ob_start() [ref.outcontrol]: Cannot use output buffering in output buffering display handlers in exec-php.php on line 44
Das war schon bekannt.
Next Step: Exec-PHP deaktiviert!
Alles funktioniert wunderbar.
System: WP 2.0.5
Exec-PHP: 2.0
Und wenn mir jetzt noch jemand das Plugin nennt, mit dem man alle installierten und aktivierten Plugins in WP auflisten kann, so kommt diese Liste sofort hinterhet!
Gute Nacht
2
Michael (Author)
6. Januar 2007, 1:52
Prima, danke Mario für den ausführlichen Bericht. Exec-PHP ist also schon mal definitiv ein Problem.
Wg. Plugin-Liste: aus dem Stegreif jetzt nix bekannt, gibt es aber wohl mehrere Plugins, schau mal bei wp-plugins.net. Ansonsten (wenn Du die Dateien auch unter Windows hast): cmd.exe starten, in das Plugin-Verzeichnis wechseln und per
dir >d:\test.txt
o.ä. in eine Datei schreiben.3
TomK32
6. Januar 2007, 8:21
Also das mit dem CSS das extra geändert werden muss ist umständlich.
Ich würde das iframe behalten wie bisher und im template all die dinge die nach draußen gehen, ob statistik oder werbung, mit einem
if ! is_user_logged_in()
nicht einblenden. Hält obendrein auch die Statistik sauber.4
Pappi97
6. Januar 2007, 12:32
Plugin installiert -> keine Probleme
Beim editieren/schreiben/zwischenspeichern mit Tiger Style Administration oder im Standard-Admin-Style hab ich keine Probleme. Alles funktioniert einwandfrei.
System: WP 2.0.6
Exec-PHP: 2.0 nicht installiert
5
Michael (Author)
7. Januar 2007, 22:07
@Tom: So mach ich das auch generell, trotzdem und trotz DSL6000 sind höhere Ladezeiten da.
Mir ist auch klar, dass es natürlich umständlich ist. Man muss ja auch nicht das komplette CSS gestalten, es reichen ja die wichtigsten Regeln.
Ich werde zur Publizierung auch noch eine CSS-Datei für’s Kubrick-Theme zur Verfügung stellen, ist ja auch im Prinzip schnell erstellt.
@Pappi97, danke auch Dir für’s Testen und Feedback.
6
Frank
8. Januar 2007, 13:02
Nur mal als Verständnisfrage – wenn ich das Feld zu klappe, werden dann die Daten trotzdem geladen?
7
Michael (Author)
8. Januar 2007, 22:37
Frank, ja, werden trotzdem geladen.
8
micha
10. Januar 2007, 21:54
ich bekomme nur ne weiße seite. im errorlog
steht dann allerdings:
PHP Fatal error: Call to a member function get_row() … on Line 77
???
WP:2.06
PHP5
APACHE2
unter WAMP (local)
9
Michael (Author)
11. Januar 2007, 22:50
Kannst Du bitte die komplette Fehlermeldung hier reinkopieren?
10
-Spooky-
31. Januar 2007, 18:31
Setze WP gerade neu auf. Plug läuft bis jetzt ohne Probleme.
11
Lutz
7. Februar 2007, 20:01
Beim Benutzen von xampp benutze funktioniert das Plugin nicht. Bei dem Versuch einen Beitrag zu editieren kommt immer eine leere Seite, 100% leer ohne Tags etc.
Sollte zwar keine Priorität für dich sein, ich wollte es dir nur sagen.
Wordpress: 2.1_DE
XAMPP: 1.5.5
12
Michael (Author)
7. Februar 2007, 22:26
Danke für’s weitere Feedback. Plugin werde ich aus Zeitgründen erst im März veröffentlichen.
@Lutz: welche PHP-Version hast Du dabei verwendet und waren weitere Plugins in Betrieb die das beeinflusst haben könnten?
Die Kommentarmöglichkeit ist derzeit für diesen Artikel ausgeschaltet.