User-Layout || was passiert bei einem Update mit User-Daten

  • Hallo,

    ich bin gerade dabei mein erstes Plugin zu erstellen, welches ich auch später im offiziellen Plugin-Verzeichnis veröffentlich möchte. Hierbei hat sich die Frage ergeben, wie man am sinnvollsten Benutzeranpassungen im Bereich des Layouts realisieren kann

    Erklärung:

    Der Shortcode im Text wird durch einen recht umfangreichen HTML-Code ersetzt, welcher sich in einem div-Container befindet. Über eine CSS-Datei, welche sich im Plugin-Ordner befindet, wurde ein Grundlayout realisiert, z.B. dass der Rahmen des div-Containers rot ist.

    Wie gibt man dem Plugin-Nutzer jetzt am besten die Möglichkeit, das Layout (z.B. Rahmen in grün) zu ändern.

    a) über die CSS-Datei, die sich im Plugin-Ordner befindet, in welcher auch das Grundlayout enthalten ist

    Nachteil: bei einem Plugin-Update wird diese Datei überschrieben, somit sind die Änderungen weg

    b) in einer neuen CSS-Datei, die sich auch im Plugin-Ordner befindet, die aber nicht zur Grundinstallation der Plugins gehört, sonder ggf. dynamisch beim ersten Aufruf erzeugt wird

    ??? Was passiert mit dieser neuen Datei bei einem Plugin-Update?

    c) Benutzer gibt CSS in ein HTML-Feld ein. Diese Daten werden in der DB und in einer CSS-Datei gespeichert. Beim Aufruf des Plugins wird geprüft, ob die CSS-Datei vorhanden ist (könnte beim Update gelöscht worden sein) und diese wird ggf. erstellt.

    ??? DB-Inhalte bleiben beim Plugin-Update erhalten?

    Fände ich sehr kompliziert. Bei den CSS wäre das noch ein mögliche Weg, ich habe aber vor, dass der Benutzer auch Templates für das Plugin anpassen kann.

    d) CSS im Theme-CSS speichern

    Fände ich sehr unglücklich, da hier ggf. wieder das Update-Problem beim Theme vorhanden wäre bzw. die CSS eigentlich zum Plugin gehören.


    Viel habe ich zu dem Thema Plugin-Update in dem Bereich nicht gefunden, daher sind das hier viele Vermutungen. Würde mich freuen, wenn diese bestätigt oder wiederlegt werden würde bzw. man mir eine Quelle nennt, wo ich entsprechende Antworten dazu finden kann (google war leider (noch) nicht sehr hilfreich).

    Oder ob es einen bessere Alternative gibt, die ich noch nicht gefunden habe.

    Gruß, Hagen

    • 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

  • die einfachste Möglichkeit, ist Useränderungswerte in der Datenbank zu speichern, ideal in der wp-option
    wenn du rot vorgeben willst, erzeugst du wenn das option feld noch nicht vorhanden ist, eines mit roter Rand eintrag,
    falls vieles geändert werden kann/darf, ist zu überlegen ob eine css datei (im Pluginordner) angelegt wird.
    da kannst du eine datei als vorgabe nehmen und eine neue durch usereingaben anlegen, bei update wird nur die vorgabe css überschrieben,

    Wordpress weil es spass macht, besonders beim WordPress Meetup in Linz

  • Klasse, was für Reaktionszeiten! :-)

    Zitat

    wieso lagerst du die änderungen nicht in eine user.css aus? beim update wird diese immer ignoriert und alles ist gut.

    D.h. Dateien mit dem Namen "user.css", egal wo sie stehen, werden bei einem Update generell nicht gelöscht?

    Zitat

    falls vieles geändert werden kann/darf, ist zu überlegen ob eine css datei (im Pluginordner) angelegt wird.
    da kannst du eine datei als vorgabe nehmen und eine neue durch usereingaben anlegen, bei update wird nur die vorgabe css überschrieben

    Mein größtest Problem ist, dass ich nicht weiß, wie der Update-Prozess vorgeht.

    Beispiel, ob ich die Aussage richtig verstanden habe:

    style.css stammt vom Plugin bzw ist im SVN, style_user.css wird von Benutzer bzw. dem Plugin dynamisch angelegt bzw. ist nicht im SVN.

    style.css wird bei einem Plugin-Update ggf. überschrieben und style_user.css bleibt erhalten?!

    Dann wäre das optimal für mich und ich könnte das auf die User-Templates so übertragen.

    Gruß, Hagen

  • bei updates überträgst du nur die geänderten dateien oder du lässt vergleichen und nur dateien, die unterschiedliche revisionsstände haben, werden übertragen. und da die user.css oder wie sie auch heisst, in deinem updateordner noch nicht existiert, fällt sie raus.

  • Prima, dann passt das. Ich hatte befürchtet, dass ähnlich wie beim SVN, Dateien die nicht geliefert werden, gelöscht werden.

    Danke für die schnelle Hilfe!

    Gruß, Hagen

Jetzt mitmachen!

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