FileUpload eigenes Plugin (ohne MediaUploader von WP)

  • Hallo Zusammen,

    ich brauche ganz dringend Eure Hilfe.

    Bei der zu implementierenden Webseite geht es darum, Bilder hochzuladen, die auf der Front immer mit derselben Fläche angezeigt werden.
    Um die Ladezeit mit Abfragen und Javascript nicht in die Ewigkeit zu ziehen, möchte ich die Bilder schon im Vornherein in der korrekten Fläche proportioniert auf die Fläche hochladen.
    Da ich nicht zu viel Zeit mit dem studieren/manipulieren des MediaUploader' von Wordpress verbringen wollte, habe ich ein eigenes Plugin ausgetüftelt.

    Nun, der File Upload funktioniert wunderbar, genau so wie der Eintrag in die Post-Tabelle der DB.
    Jedoch wird mir das Hochgeladene Bild danach ohne Thumbnail in der Medienbibliothek angezeigt.
    Und wenn ich das Bild in einen Beitrag einfügen möchte, wird nur der Link zum Bild angezeigt. (Nur ein a-Tag mit href wird hinzugefügt, normalerweise jedoch ein Bild mit src).

    Unten seht Ihr das Beispiel, einmal das Bild wie gewohnt über den Medienuploader von WP hochgeladen und einmal mit dem Plugin (Image Proportionizer). In der DB habe ich auch die Zeilen der betroffenen Tabelle (falls nur eine betroffen ist) verglichen, und die waren identisch. Zumindest sind bei beiden Bildern dieselben Felder korrekt abgefüllt.

    Ich bedanke mich herzlichst im Voraus für Eure Hilfe.

    Grüsse,
    Psetta

    • 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

  • Welche Hooks und Filter hast Du verwendet? Oder hast Du am Codex vorbei programmiert?

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Ich habe nicht gerade den schönsten Code..
    In add_action ist die Funktion add_menu_page, welche wiederum alles andere ausführt nachdem das Menü im Wordpress erstellt ist.
    Reicht dies aus als Antwort?

  • Nein. Wie Du Deine Funktionen nennst ist relativ egal. Wichtig ist welche WordPress eignen Funktionen zum Upload verwendet wurden. Also Hooks und Filter.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Beim Upload habe ich über ein Form und mithilfe von PHP-Funktionen Bilder in das hauseigene 'uploads' hochgeladen.
    Verwendete Funktionen für den Upload und das Resizing:
    - move_uploaded_file()
    - imagecreatetruecolor()
    - imagecopyresampled()
    - imagejpeg()

    Verwendete Funktionen DB:
    (global $wpdb)
    - $wpdb->insert()

  • move_uploaded_file()

    Das ist nicht WordPress Codex konform. Mit normalem PHP kein Thema aber unter WP eben nicht. Schau Dir bitte wp_handle_upload an.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Lädt die Funktion dann nicht einfach das Bild hoch? Ich möchte ja das Bild noch zusätzlich mit einer vorberechneten Fläche in einer bestimmten Breite und Höhe hochladen.
    Wie genau wende ich diese Funktion dann an? Auf der von Dir referenzierten Seite wird die Funktion zwar erklärt, jedoch kann ich mir als Laie noch nicht vorstellen, wie ich dies für mein Vorhaben anwenden möchte/könnte.

  • Wenn Du die Datei bearbeiten willst machst Du das mit wp_generate_attachment_metadata

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Mein File-Upload (übrigens multi-Upload) speichert alle Files im Verzeichnis Uploads ab, er trägt dies auch in der Datenbank am rechten Ort ein. Da aber Deiner Meinung nach die obigen Funktionen benötigt werden, würde ich Dich gerne fragen wie ich dies bei einem Multi-Upload anwenden kann?

    Es tut mir Leid, ich tue mich ein wenig schwer, lerne aber erst noch in Sachen Wordpress-Programmierung dazu. :)

  • Du verwendest wp_generate_attachment_metadata als Filter. Schau Dir mal den Beitrag von an.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Mir zeigt es nicht an, welchen Beitrag Du meinst. Zudem habe ich die beiden Funktionen ausprobiert, komme jedoch nicht auf eine Lösung. Ich habe mir erlaubt folgend meinen Code einzufügen. Vielleicht kannst Du Ihn ja so anpassen, oder mir zumindest auf die Sprünge helfen, damit ich das auch mit dem korrekten WP-Codex implementieren kann. Denn das Prinzip der Filter verstehe ich immer noch nicht ganz. Und Praxisnahe Beispiele gibt es nur sehr wenige im Web.

    HTML:

    PHP:

    Dazwischen befindet sich noch mehr Code für das Berechnen der benötigten Dimensionen für jedes einzelne Bild. Nachfolgend der Abschluss, was mit dem neu berechneten Bild geschieht.

    Nun, wie ich erwähnt habe, ist mein Code nicht der Schönste, will heissen: all dies befindet sich in der Funktion ip_init(), die in der Funktion add_menu_page ausgeführt wird.

    Ich hoffe Du kannst mir nun besser helfen.

  • Sorry aber das geht über den Umfang der Forumshilfe hinaus.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Schau mal was ich in meinem Archiv entdeckt habe: http://playground.ebiene.de/wordpress-ysmushit-simple/

    Das sollte als Beispiel ausreichen.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

Jetzt mitmachen!

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