Beiträge von stefan_o

    So, habe den Code überarbeitet:


    Es werden nun auch die Metadaten "_wp_attached_file" und "_wp_attachment_metadata" aktualisiert, die Thumbnails werden jetzt nicht gesucht sondern aus den Metadaten gelesen und verschoben (und die Metadaten aktualisiert). Damit sollten z.B. JXL-Dateien mitverschoben werden wenn sie als Thumbnail mit aufgeführt sind. Es gibt vorher auch eine Prüfung, ob irgendeine der Dateien schon vorhanden ist, wenn ja wird nichts verschoben.

    Du kannst jederzeit externe Inhalte über den Editor einfügen. Wofür benötigst du die Mediathek?


    Damit man einfach Bilder/Dateien hochladen kann etc. und kein separates System braucht. Wie kann man außerdem ein Beitragsbild festlegen das nicht in der Mediathek ist.

    JPG XL ist Standard. Aktuelle Browser können dies schon sehr lange


    "Behind a flag": Man muss es extra aktivieren (was vermutlich 99,99% der Nutzer nicht tun). Und bei Firefox funktioniert das nicht Release-Versionen. Der Grund warum das so lange dauert das zu übernehmen: libjxl ist noch sehr jung und in C geschrieben und enthält damit potentiell noch unentdeckte Sicherheitslücken, deswegen sind die Browder-Hersteller sehr vorsichtig so eine Bibliothek einzubinden.
    Natürlich hoffe ich auf den Erfolg/die Verbreitung von JXL, da ich es wie schon geschrieben für einen würdigen Nachfolger von JPEG halte, aber zum jetzigen Zeitpunkt macht es noch nicht so viel Sinn.

    Dafür ist dein C02 Fußabdruck Schrott.

    2022 mozjpeg verwenden? Habe ich mindestens seit 5 Jahren nicht mehr auf dem Server.

    mozjpeg benötigt für die Bearbeitung von 1MB fast 1 Minute und verbraucht dafür zu viel Energie. Da es den Stromverbrauch bei den Clients reduziert, gleicht es sich aus und war bis zur Einführung von WebP2 pp Jpg XL "vertretbar". Aber 2022?


    Da machst du was falsch. mozjpeg ist langsamer als libjpeg-turbo, aber nicht extrem, verwechselst du das mit Google Guetzli? Hier ist ein Test: https://www.pixelz.com/blog/guetzli-mozjpeg-comparison/ mozjpeg benötigt auf einem MacBook Air mit 1,6 GHz Intel i5 von 2015 rund 10 Sekunden um ein 48 Megapixel Bild auf 4,6 MB zu komprimieren (was weit jenseits von dem ist, was Wordpress Thumbnails an Größe/Auflösung haben). Ich weiß nicht was für einen Rechner du hast mit dem du auf diese 1 Minute gekommen bist. Durch die verringerte Dateigröße wird weniger Energie zum Lesen/Übertragen bei jeden Zugriff benötigt, daher gehe ich davon aus, dass die CO2-Bilanz nach ein bestimmten Anzahl Aufrufe langfristig besser ist.

    kann WordPress. Es gibt einen Google Entwickler bei WordPress, der ein Performance Plugin geschrieben hat. Das Plugin kann zuerst WebP aber wenn auf dem Server JPG XL ist...


    Das ich das manuell einbinden kann ist mir klar, interessant wäre ob WordPress automatisch die JXL erzeugen kann und automatisch überall dann picture verwendet.
    Noch so ein Gedanke: Wenn ich jedes Bild nach JPEG, WebP, avif und JXL komprimiere, das ist vermutlich nicht gut für den CO2-Fußabdruck. Ich würde WebP und avif rausschmeißen (zumindest eins davon).


    Ja, du hast recht, das ist mir in diesem langen String "_wp_attachment_metadata" gar nicht aufgefallen, da steht der Pfad auch drin (und die erzeugten Thumbnails, muss also nicht suchen). Werde den Code nochmal überarbeiten, damit der Eintrag auch angepasst wird.

    Gegenfrage: Wie findet Wordpress denn die Medien-Dateien? Ich konnte in der Datenbank nichts anderes finden, dass auf die hochgeladene Datei verweist. Und bis jetzt konnte ich keine Probleme feststellen. Die Warnungen vor dem Ändern der guid die man bei Google findet beziehen sich immer auf Posts (ich weiß, Medien sind auch ein spezieller Post-Type, aber vermutlich der speziellste).

    Hier mein Plug-In, nicht schön, aber funktioniert. Es wird ein Metainfo-Kasten erzeugt, der alle Ordner im Upload-Hauptverzeichnis auflistet, sowie das Hauptverzeichnis selber und den Jahr-Monat-Ordner des Posts. Wenn ein anderer Ordner gewählt wird, wird die Datei dahin verschoben und falls erfolgreich die guid in der Datenbank aktualisiert. Wenn Datenbank aktualisieren nicht klappt, wird die Datei zurückverschoben und wenn erfolgreich, wird noch nach Thumbnails gesucht und diese auch verschoben.

    Wichtig: Feste Links in irgendwelchen Posts oder so werden nicht aktualisiert! Nur nutzen wenn man weiß was man tut!

    die Mediathek in WordPress erlaubt dies eigentlich nicht. *Jahr* und Monat ist das maximale, was geht.

    Wenn das Datum stört, kannst du unter Einstellungen => Medien

    Meine Uploads in monats- und jahresbasierten Ordnern organisieren

    deaktivieren.

    Darum geht es mir nicht, das ist standardmäßig gut, worum es mir geht, ist eine Datei nachträglich im Dateisystem zu verschieben. Der Hintergrund ist, dass ich für einen anderen Ordner mittels Apache-Konfiguration/.htaccess spezielle Zugriffrechte setzen kann.


    Verwende ein aktuelles Dateiformat für deine Bilder .jxl

    JPEG-XL ist vielleicht etwas zu aktuell... Soweit ich weiß kann das nur Firefox beta und Chrome und auch nur wenn man das aktiviert. Verstehe mich nicht falsch, ich halte JPEG-XL für das erste Format das JPEG wirklich ersetzen kann (anders als JPEG-2000, JPEG-X-sonstwas (außer L), heif, WebP, avif...), da es tatsächlich alles kann was JPEG kann, nicht notwendigerweise komplexer bei der Kodierung ist und die Kodiereffizienz bei allen Bildgrößen/Qualitäten höher ist (bei den Videocodec-basierenden Formaten ist das oft der Knackpunkt: Besseres Bild bei starker Kompression, aber bei hoher Qualität ist JPEG besser). Aber ich wollte nicht 99,99% der Besucher ohne Bilder dastehen lassen. Ich habe übrigens die Standard-libjpeg-turbo durch mozjpeg auf dem Server ersetzt, dadurch werden kleinere JPEGs bei besserer Qualität erzeugt (die Thumbnails die Wordpress erzeugt). Da hilft selbst eine verlustfreie Konvertierung nach jxl nicht mehr viel um die Dateien zu verkleinern (weniger als 10%). Wäre natürlich genial wenn Wordpress die Thumbnails auch als jxl erzeugen könnte und je nachdem was der Browser in seinem accept-Header mitschickt das richtige Format wählt.

    Gehen tut das schon, man kann eine Datei manuell verschieben und die guid in der Datenbank anpassen. Mehr möchte ich ja gar nicht. Aber ich vermute ich muss mich selber hinsetzen und ein Plug-In basteln.

    Hallo,
    ich suche ein Plug-In, mit dem ich Dateien in einen anderen Ordner im Dateisystem (mit entsprechend neuer URL) verschieben kann. Also statt .../wp-content/uploads/2022/05/bild.jpg nach ...wp-content/uploads/design/bild.jpg
    Ich möchte nicht die Grundeinstellung ändern, sondern als Option nachträglich. Ich habe schon diverse Plug-Ins ausprobiert, aber die verschieben die Dateien nicht sondern legen eine virtuelle Ordnerstruktur in der Datenbank an (das möchte ich nicht).
    Das einzige Plug-In, dass ich gefunden habe dafür (Organize Media Folder) funktioniert leider nicht richtig, dass zeigt ein Großteil der hochgeladenen Dateien nicht an.
    Gibt es dafür ein gutes Plug-In? Muss ja nicht viel können, nur die Datei verschieben (mit Thumbnails wenn erforderlich) und den EIntrag in der Datenbank aktualisieren.
    Vielen Dank
    Stefan

    Plugins wie bspw. "Code Snippet" & Co.


    Damit kann ich aber ja nichts ändern? Wenn das Theme an irgendeiner Stelle etwas hard-coded hat (in der Vergangenheit z.B.: In den Widgets zu Beiträgen stehen immer die Kategorien oder die Anzahl der Kommentare, Datum it keine Option, da hilft nur ein Child-theme mit modifiziertem code)

    Kenne deine Erwartungen nicht. :D

    So genau kenne ich die auch nicht :DAber ich dachte von den Anforderungen die ich oben geschrieben habe hätte ich dutzende Themen zur Auswahl, ich finde nichtmal eins. Vielleicht kann man welche entsprechend anpassen, aber meine Erwartung ist vielleicht auch aktuell zu old-school, jetzt ist ja großes Hintergrundbild und minimalistischer Text modern und möglichst keine Menüs, damit man bloß nicht schnell das findet was man sucht...

    Sind ja nur meine Ansichten/Erkenntnisse. Andere Leute haben hier völlig andere Ansichten.
    Hüte dich also vor Kommentatoren, die ihre als die einzig wahren ansehen. ;)

    Klar, Anforderungen und persönliche Ansichten sind verschieden

    Nachtrag: Wenn ich nacht text-orientierten Themen suche und sowas finde: https://www.sktthemes.org/wordpress-them…rdpress-themes/ Sowas suche ich nicht, eher wie Wikipedia als das

    Ein verständlicher Wunsch. Da kann man allerdings nie sicher sein. Auch nicht bei einem Theme auf Gutenberg-Basis. Zumal ich davon ausgehe, dass zukünftige Versionen von Guternberg nicht einmal mit sich selbst Kompatibel sein werden. Wer hingegen vor 10 Jahren ein Premium-Theme à la Impreza, BeTheme, Avada, The7 & Co. mit einem Pagebuilder wie WPBakery gekauft hatte, genießt seit Ewigkeiten stetige Updates und bestmögliche Kompatibiliät – das ist nur eine Feststellung, auf keinen Fall keine Empfehlung!

    Mal zur Begriffsklärung: Ist der Block-Editor Gutenberg? Der ist insofern praktisch, als dass man Widgets reinziehen kann. Ich hab mal den Klassik-Editor installiert, da werden die nicht angezeigt, tauchen aber im HTML auf. Block-Editor wäre daher schon gut.

    Technisch gesehen ist custom code und child theme kein Unterschied. Würde ein child theme Probleme verursachen, würde der selbe Code es auch im Customizer.


    Ich meinte custom css (im Sinne von Farben, Schriftart etc. anpassen) ist ok, was ich vermeiden wollte ist, den PHP-Code mit einem Child-theme anzupassen, weil da Dinge hard-coded sind die ich ändern möchte (gibt es überhaupt eine Möglichkeit den PHP code anzupassen ohne child Theme?).
    Ich dachte meine Theme-Erwartung wäre so gering, dass das überhaupt kein Problem ist. Dem scheint leider nicht so zu sein.

    Die ich jetzt gerade noch installiert habe sind GeneratePress und Harrison.
    Ich wollte ein Theme das möglichst dicht an Wordpress ist und nicht irgendwelche Spezialsachen installiert die dann nach dem nächsten Wordpress-Update nicht mehr funktionieren. Die Anpassungen sollten bevorzugt so möglich sein, dass ich kein child-theme erstellen muss (custom css ist ok, aber child theme bedeutet möglicherweise Probleme bei Updates). Der Classik-Editor ist vermutlich völlig ausreichend, solange man kein HTML schreiben muss für Textformatierung und z.B. ein Block mit einem Widget machen kann ist alles ok. Ich habe keine Ahnung wie sich diese Sachen im Detail unterscheiden, aber lieber etwas das nicht ganz so komfortabel ist aber dafür langfristig funktioniert.

    Habe ich ausprobiert, mir fehlen aber ein paar Funktionen: Die Seite soll nicht komplett einfarbig sein, ich hätte gerne vier Bereiche die ich einzeln gestalten kann (Schrift, Hintergrundfarbe etc.): Header, Menü-Leiste, Content, Footer. Beim Content gerne die Möglichkeit links oder rechts eine Seitenleiste mit Widgets zu plazieren. Das ganze ohne eine feste Breite, bei breiten Monitoren sollte nicht 3/4 nur HIntergund sein.
    Auf Mobilgeräten die Darstellung entsprechend angepasst, auf irgendwelche Social-Media-Integration etc. kann ich komplett verzichten (das Theme darf nichts von extern laden)

    Das Plug-In scheint ja gut zu sein, nur leider finde ich in der Tat keine Liste mit Themen die das nutzen. Ich suche etwas Schlichtes mit Fokus auf Text-Inhalten wo nicht alles voller Fotos ist (>90% der Posts werden kein Bild haben)
    Ich habe spaßeshalber mal das Theme ausprobiert das ich vor ein paar Jahren verwendet habe, das versucht zwar die Demo-Daten zu importieren, hat dann aber einen kritischen Fehler.

    Das ist ja doof, ich sehe eine schöne Vorschau, denke sieht toll aus, wenn ich es installiere ist es großer Murks und ich habe keine Ahnung welche Option ich wie einstellen muss, damit es so aussieht wie in der Demo. Es ist sehr viel einfacher etwas funktionierendes seinen Wünschen anzupassen und zu sehen welche Option was verändert als zu Versuchen ein komplettes Chaos wieder richtig hinzubekommen.
    Gibt es irgendwo eine Übersicht über Themes, die Demo-Content bieten? Bei Wordpress selber ist das kein Kriterium. Selbst wenn es nicht automatisch geht und ich den Demo-Content selber einspielen muss (im Zweifel auch eine neue Datenbank aufsetzen), dass ist mir egal.
    Dabei will ich gar nichts besonderes, ich hatte diverse gesehen die ich auf den ersten Blick ganz gut fand.

    Hallo,
    als ich zuletzt mal eine WordPress-Seite gemacht habe (vor 3 oder 4 Jahren) hatte ich verschiedene Themes ausprobiert und da kam immer so eine Frage ob ich auch den Inhalt mit allen Einstellungen installieren möchte, damit es so aussieht wie in der Vorschau und ich von da aus Anpassungen vornehmen kann.
    Ich habe jetzt schon mehrere Themes ausprobiert, diese Frage kam nie und es sieht immer alles ganz anders aus als in der Vorschau (alles sehr spartanisch und irgendwie kaputt).
    Mache ich irgendwas falsch oder war das eine besondere Eingenschaft von den Themes die ich damals ausprobiert hatte?
    Vielen Dank
    Stefan

    Beschäftige Dich noch etwas mehr mit pre_get_posts, probiere Dinge aus usw., dann ergeben sich daraus alle nötigen Möglichkeiten.

    Es scheint wohl normal zu sein, dass die Abfrage doppelt ist und das erste Ergebnis schon da, habe es jetzt so geändert bekommen, dass er die gesperrten Seiten filtert, Problem dabei: Ich zeige jetzt nicht meine Gesperrt-Seite, sondern ich bekomme ein 404. Korrekterweise müsste ich prüfen wenn ohne meine Beschränkung ein Ergebnis vorläge, und mit meiner Beschränkung nicht, dann schreibe den Query so um, dass die Beschränkung kommt.
    Damit würde der Query wiederholt ausgeführt werden, das ist ziemlich unschön, oder die Abfrage müsste entsprechend komplex werden, in etwa so:
    query IF gesperrt=FALSE JOIN (gesperrt-seiten-query IF COUNT(query IF gesperrt = TRUE)==1 AND COUNT(query IF gesperrt = FALSE)==0)
    Ich weiß nicht ob das machbar ist mit einem Wordpress-Query.
    Gibt es ein hook/filter der zuverlässig aufgerufen wenn eine Page als main_query aufgerufen wird? Dann würde ich für den Fall den Query bei pre_get_posts nicht ändern, sondern dass dann einem anderen hook überlassen die Gesperrt-Seite anzuzeigen.

    So habe ich pre_get_posts auch verstanden, aber die Realität passt nicht zur Dokumentation. Warum gibt es bereits ein "queried_object" indem die ganze Seite drin ist bevor der Query ausgeführt wird? Ich habe einfach mal mit print_r $query ausgegeben, bereits in der ersten Ausgabe ist das "queried_object" drin, was den ganzen Seiteninhalt enthält.

    Ich wollte diese Passwort-Schutz-Funktion eigentlich ungern kaputt machen, auch wenn sie vermutlich nie gebraucht wird, aber wenn sie dann nicht mehr funktioniert ist das doof.

    pre_get_posts verstehe ich nicht: In der $query-Variable die ich bekomme ist die Abfrage drin, aber auch schon das Ergebnis ("queried_object")? Bedeutet wenn ich die Abfrage ändere passiert gar nichts. Könnte aber auch sein, dass für eine Seite dieser Hook nicht genutzt wird und die Seite noch als Ergebnis der letzten Abfrage da drin ist...

    Bei post_password_required kann ich zwar sagen, dass ein Passwort gebraucht wird, aber nicht den Post ändern. Bei template_redirect kann ich umleiten, ebenfalls nicht den Post ändern.

    Schade das es so ein Plug-In noch nicht gibt. Gibt es einen Hook, den *jede* Query durchläuft bevor sie ausgeführt wird?

    Da ich auf StackOverflow auch ähnliche Fragen ohne Antwort gefunden habe, habe ich mal schnell ein Plug-In gebastelt:


    Es muss ein custom field angelegt werden mit dem Namen "ip_restricted", die Fehlerseite ist hier festgelegt auf 97. Die Idee ist, dass wenn ein Query nur ein Post zurück gibt, kommt die Fehlermeldung, ansonsten wird der Post rausgefiltert. Die Funktion ip_is_restricted() muss natürlich noch sinnvoll gefüllt werden.
    Auf den ersten Blick funktioniert es gut, aber ich kenne mich nicht so gut mit WordPress aus, gibt es Abfragen nach Posts die diesen Hook (und damit die Sperre) umgehen?