Beiträge von h.drees

    Hallo,

    mit meinem eigenen Plugin möchte ich Daten von einer anderen Seite herunterladen (welche dort dafür angeboten werden). Angefangen habe ich mit "file_get_contents", bin dann nach einigen negativen Aussagen zu curl_exec gewechselt. Nach einem Testserver-Wechsel habe ich dann festgestellt, dass diese Funktion nicht überall vorhanden ist. Mittlerweile sieht mein Test-Code wie folgt aus:

    Ist das wirklich so kompliziert bzw. gibt es evtl. einen einfacheren Weg? Die Suche im www hat mich leider (noch) nicht wirklich weiter gebracht, vielleicht auch einfach durch falsche Suchbegriffe.

    An das add_filter wollte ich ja gerade nicht dran, da dies das Plugin ist, welches ggf. aktualisiert wird und somit meine Anpassungen überschrieben werden.

    Eine Lösung für mich hätte ich dann doch eher zufällig gefunden:

    "Text hover" ersetzt mit diesem Code:

    Zitat

    $new_text = "$1<acronym title='" . esc_attr( addcslashes( $hover_text, '\\$' ) ) . "'>$2</acronym>$3";


    Die mehrfachen einfachen Anführungsstriche machen Probleme. Aus

    Zitat

    [kfz art='PKW' ...]


    wird durch das Plugin

    Zitat

    [kfz art='<acronym title='Personenkraftwagen'>PKW</acronym>' ...]

    Dadurch gibt es bei

    Zitat

    extract(shortcode_atts( array('art' => '', ... ), $atts));


    Fehler.

    Lösung:

    Zitat

    [kfz art="PKW" ...]

    Trotzdem würde es mich interessieren, ob es noch andere sinnvolle Lösungen gibt, da es für den Benutzer/Redakteur nicht unbedingt eindeutig ist, ob er einfach oder doppelte Anführungsstriche nutzen kann/soll.

    Hallo,

    ich benutzte seit einiger Zeit das Plugin "Text Hover", mit welchem ich auch recht zufrieden bin (bei anderen ähnlichen Plugins hatte ich häufig Probleme beim Ersetzten von Zeichenketten mit Umlauten).

    Vor kurzem habe ich in meinem Theme einen neuen Shortcode 'kfz' erstellt:

    [kfz art='pkw' ...]

    'pkw' ist auch im "Text Hover Plugin" hinterlegt und wird somit ersetzt.

    Das Problem ist, dass zuerst die Funktion add_filter vom Plugin "Text Hover" ausgeführt wird und damit der Shortcode beschädigt wird, der erst danach bearbeitet wird.

    Kann man die Reihenfolge irgendwie steuern?

    Das Plugin würde ich ungern umschreiben, da sonst alle Änderungen nach einem Update verloren sind. Der Shortcode wir im Theme definiert, welches eine eigene Entwicklung ist, d.h. Anpassungen wären hier am besten aufgehoben.

    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.

    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.