Beiträge von threadi

    Schau dir nochmal meine Liste oben an. Beim ersten Punkt findest du in dem Widget einen auskommentierten Text, der die Buchstaben enthält. Wenn ich das im Frontend testweise anpasse sieht es so aus:

    Alles in diesem einen Widget im HTML-Code versteckt. Geh wie oben beschrieben vor und du löst es.

    Und ja, das ist schwierig, weil du es so komplex aufgebaut hast. Ich hatte dir oben schon eine bessere Lösung beschrieben, aber dafür müsstest du die ganze Liste neu machen.

    Ich hab mir mal mühsam die URL aus dem Screenshot abgeschrieben um das direkt anschauen zu können. Du scheinst da eine abenteuerliche Mischung von einem Projekt mit Avada und Elementor zu haben - sieht man selten.

    Die Liste erzeugst du scheinbar über Elementor und offenbar manuell. Dabei hast du jedoch einige Schreibfehler verursacht sowie "M" doppelt hinterlegt, was nun zu Fehldarstellungen führt. Eine Lösung könnte wie folgt aussehen:

    1. Seite in Elementor öffnen und das L-Text-Editor-Widget auswählen.
    2. Im Reiter "Text" (nicht „Visuell“) den Kommentar korrigieren oder löschen.
    3. Den doppelten M-Container löschen.
    4. Seite aktualisieren und Cache leeren (Elementor → Werkzeuge → CSS regenerieren, plus Caching-Plugin leeren).

    Beachte: da du offenbar HTML-Kommentare manuell pflegst, musst du sehr genau auf deren Schreibweise achten.

    Ich würde ja empfehlen die Liste nicht per Hand zu pflegen sondern eher aus Datensätzen erzeugen zu lassen. Das geht z.B. durch Kombination von ACF (für einen Custom Post Type) und der Elementor Loop. Damit wäre die Darstellung auch sicherer und die Datensätze könntest du im Backend in einer eigenen Seite verwalten. Das aber nur so als Empfehlung, deine Entscheidung :)

    WordPress-Installationen prüfen alle 12 Stunden auf vorhandene Updates. Mit Plugins oder Hooks kann man das Interval beeinflussen. Es ist durchaus purer Zufall, dass das bei dir sofort zu sehen war. Aber ich kenne das: die letzten Sicherheitsupdates vom Core kamen immer zu Tageszeiten, wo ein und das gleiche Projekt jedes Mal das Erste war das das Update installierte und mir meldete. Auch purer Zufall, zeitlich gesehen. Aber wenn man will, kann man das auch noch feiner einstellen und steuern.

    Jeder der fachlich und technisch in der Lage dazu ist und über wenig Skrupel und kein Gewissen verfügt, kann so einen Angriff durchführen. Und das sind sicherlich mehrere Millionen Menschen weltweit, da die Menschheit leider nicht frei von solchen Zeitgenossen ist.

    Du musst bei PHP shell schon im Server drin sein. Oder zumindest schon Zugang haben.

    Nein, der Request kommt von draußen. Du musst nur eine URL mit einem bestimmten Request aufrufen und schon kannst du beliebigen Code ausführen. Schau dir die Videos mal an.

    Und nein, das ist keine Angst. Das ist die Realität die ein ITler erkennt, wenn er sich mit der Materie beschäftigt. Und da habe ich eher Respekt vor dem was passieren könnte.

    Die Lücke ist schon sehr gefährlich. Du kannst damit beliebigen Code auf dem angegriffenen System ausführen. Es gibt schon einige, die das auch als Video demonstriert haben, z.B. hier: https://www.wiz.io/blog/php2shell-php-rce - der führt einfach in verschiedenen CMS (auch WordPress) beliebigen Code innerhalb von Sekunden aus.

    Ich habe es heute auch schon anderen sagen müssen: Hackern, die wie in diesem Fall wild drauf los angreifen, geht es nicht um ein spezifisches Projekt oder spezifische Daten. Sie wollen Zugriff erlangen um eine weitere Plattform zur Verteilung ihrer eigenen Software zu haben oder ein Bot-Netz aufzubauen. Die gucken nicht, ob Nutzerdaten vorhanden sind, das ist denen egal, es sei denn sie stoßen zufällig auf eine Goldgrube. Und ja, es gibt auch die Gruppe Hacker die auf konkrete Daten aus sind, die werden jetzt wohl nur aktiv werden, wenn ihr konkretes Ziel keinen Fix eingespielt hat.

    Was mich in den letzten 24 Stunden eher aufgeregt hat, ist die träge Reaktion der meisten Hoster (nicht alle). Während die an vorderster Front stehenden Linux-Distributionen und auch Dienstleister wie Plesk innerhalb von wenigen Minuten nach öffentlicher Bekanntgabe der Sicherheitslücke, bereits Updates bereitgestellt hatten, dauert der Vorgang des Einspielens davon bei vielen Hostern immernoch an. Manche haben sogar stundenlang alles abgeschaltet - was ist das für ein geschäftlicher Schaden für die Anwender, Wahnsinn. Würde mal etwas noch ernsthafteres entdeckt werden, müsste man vermutlich die ganze IT komplett abschalten (nicht nur Websites, auch Steuerungsanlagen, Ampeln, Wasserwerke ..), weil der Großteil der Dienstleister einfach zu träge ist.

    Dass deren Support-Mitarbeiter dann mit Anfragen völlig überlastet sind, kann ich total verstehen. Das ist das Abschieben der Last auf die mit Kundenkontakt. Die Menschen in den Hotlines tun mir derzeit am meisten Leid.

    Und btw. waren meine handvoll selbst betriebenen Server um 16:15 Uhr komplett gepatched. Lief für mich überaus zufriedenstellen :)

    Heute um 16 Uhr unserer Zeit wird das PHP Team ein Sicherheitsupdate veröffentlichen. Sie empfehlen die möglichst sofortige Einspielung, da es sich um eine gravierende Lücke handelt, die geschlossen wird.

    PHP: News Archive - 2026
    PHP is a popular general-purpose scripting language that powers everything from your blog to the most popular websites in the world.
    www.php.net

    Es sind bereits viele Gerüchte dazu im Umlauf. Aber es sind eben Gerüchte. Dennoch empfiehlt es sich vorbereitet zu sein. Die Lücke hat einen CVSS von 9.2 erhalten, was wirklich sehr kritisch ist.

    Simon hat hier den aktuellen Stand auf deutsch zusammengefasst:

    Kritische Sicherheitslücken in PHP, das ist zu tun | KrautPress
    Für den 21.10.2026 ist der Patch einer schwerwiegenden Sicherheitslücke der Programmiersprache PHP angekündigt. Das wissen wir bisher…
    krautpress.de

    Wenn ihr Anwender seid und ein Hosting gebucht habt, sprecht den Support eures Hosters darauf an.
    Wenn ihr selbst Server betreut, bereitet euch auf die Einspielung von Updates oder (falls doch irgendwie möglich) die Konfiguration von Abwehrmechanismen heute Abend vor.

    Fürs Layout gibts ja inzwischen reichlich Auswahl in Themes wie auch Plugins. Da findet man sicher etwas. Der Knackpunkt ist, wenn man das automatisiert haben möchte, dass die gewählte Galerie auch irgendeine Schnittstelle hat um nur ausgewählte Daten anzuzeigen. Der beschriebene Weg würde auch mit vielen anderen Galerie-Plugins funktionieren. Und btw. nicht nur damit sondern auch mit jeglichen Dingen, wo Dateien behandelt werden.

    Du hast den Header auf Sticky gesetzt, was aber nicht wirkt und gleichzeitig zu dem Problem führt. Um es zu lösen, musst du einfach die "Position" wieder auf "Standard" setzen.

    Also:
    Bearbeite das Header-Template.
    Dort hast du einen alles umgebenden Container.
    Bei diesem gehst du auf "Erweitert".
    Dort findest du das Feld "Position":

    Ändere das, wie in meinem Screenshot zu sehen auf "Standard".
    Alternativ, kannst du in dem Feld darunter auch eine Zahl größer 10 eintragen.
    Speichern, fertig.

    Da du Elementor Pro nutzt, hast du ein kommerzielles Produkt bei dem du den Support mitgekauft hast. Für viele kommerzielle Produkte kann man in Foren wie diesen nur schwer Support leisten, da nicht jeder diese kommerziellen Produkte zur Verfügung hat. Dir steht aber der Support vom Hersteller jederzeit zur Verfügung. Du findest ihn hier: https://elementor.com/help/how-to-submit-a-support-ticket/

    Die ads.txt dient dazu, dich als Anzeigensteller zu autorisieren. Ich kenne das Plugin nicht wirklich und weiß auch nicht, welche Version du vor dem Update hattest. Für mich klingt das aber so als würde das Plugin nun selbst eine virtuelle ads.txt bereitstellen - ähnlich wie die SitemapXML, die auch nicht als Datei im Hosting liegt.

    Meine Empfehlung daher: benenne die ads.txt nochmal in alt-ads.txt um. Gehe dann zur Sicherheit im Backend auf Einstellungen > Permalinks und speichere diese einmal neu. Rufe dann hinter deiner Domain /ads.txt auf. Dabei darf dann keine 404-Seite oder eine Weiterleitung zu deiner Startseite kommen, sondern irgendein kleiner Text kommen. Wenn das funktioniert, dann wäre meine Vermutung richtig und das Plugin kümmert sich für dich um die Ausgabe dieser Datei. Du müsstest dann keine Datei mehr manuell im Hosting ablegen.

    Es gibt vom Entwickler des Plugins hier auch eine englischsprachige Anleitung zur ads.txt: https://wpadvancedads.com/manual/ads-txt/#Using_Advanced_Ads - wenn ich das richtig sehe, musst du die Datei nicht manuell hinterlegen. Du kannst auch im Backend unter Advanced Ads > Settings den Code von Ads hinterlegen und speichern - fertig.

    Folgendes Szenario:
    Ihr benötigt für eine WordPress-Website eine Galerie-Ansicht. Der Fotograf der anzuzeigenden Bilder soll jedoch keinen Zugriff auf das Backend erhalten. Dennoch sollen von ihm vorbereitete Bilder ohne euer eigenes Zutun automatisch als Galerie angezeigt werden.

    Nicht möglich? Doch!

    Die Kombination macht es

    Wir benötigen:

    Erstmal installieren wir die beiden WordPress-Plugins. Das ist schnell erledigt – beide benötigen keine weitere Konfiguration.

    Die Konfiguration

    Jetzt gehen wir folgende Schritte (und ja, es sieht nach viel aus, aber wenn man es einmal gemacht hat ist das Schema klar):

    1. Gehe im WordPress-Backend auf Medien > Mediathek und lege einen Ordner über die von CatFolder bereitgestellten Optionen an. Benenne ihn am besten so, dass dir klar ist worum es bei diesem geht. Ich nenne ihn hier „Fotograf Bilder“.
    2. Gehe nun im WordPress-Backend auf Medien > „Verzeichnisarchive“. Klicke dort auf den Button „Verzeichnisarchiv hinzufügen“.
    3. Wähle nun die Datenquelle aus. In meinem Beispiel hier nutze ich einfach eine FTP_Verbindung.
    4. Melde dich in der Oberfläche per FTP an. Du solltest nach einem kurzen Moment die Liste der bereits in dem Verzeichnis liegenden Fotos sehen.
    5. Klicke oberhalb der Liste auf „Als Verzeichnisarchiv speichern“. In dem Bestätigungsfenster bekommst du einen Link zurück Liste der Verzeichnisarchive dem wir folgen.
    6. Du siehst nun in der Liste der Verzeichnisarchive deinen Eintrag zur externen Verbindung. Klicke hier auf den Button „Konfigurieren“.
    7. In dem neuen Flyout siehst Du einen Punkt bei dem du den Ziel-Ordner auswählen kannst. Wähle hier nun den von dir im ersten Schritt angelegten Ordner aus. Ich wähle hier also „Fotograf Bilder“. Speichere die Angabe – fertig.

    Zwischenfazit

    Jetzt ist das grundsätzliche erstmal konfiguriert. Wir haben die Verbindung zu der externen Quelle hergestellt und wir haben einen Ordner angelegt in dem die Bilder landen werden.

    Was nun fehlt ist ein Test der Synchronisation, die Ausgabe der Bilder im Frontend und der Automatismus. Also machen wir uns daran.

    Verbindung testen

    Unter Medien > Verzeichnisarchive siehst du deine Verbindung zu der externen Quelle. Klicke hier in der Spalte „Synchronisieren“ auf „Jetzt“. Bestätige die Nachfrage und warte die nächste Rückmeldung ab. Im besten Fall holt sich das Plugin Externe Dateien in der Mediathek in dem Moment die Bilder aus dem Verzeichnis und trägt sie als externe Dateien in der Mediathek ein.

    Schau daher anschließend unter Medien > Mediathek nach, ob die Bilder in dem von dir angelegten Ordner angekommen sind.

    Galerie anlegen

    Das Plugin Catfolders bringt einen schönen Block mit den man einfach im Editor auswählen muss um dann die Bilder aus einem Ordner anzuzeigen. Aber der Reihe nach:

    1. Gehe auf Seiten und such dir Seite raus in der die Galerie angezeigt werden soll. Leg diese ggfs. dafür neu an.
    2. Im Block Editor suchst Du nach dem Block „CatFolders“ und fügst ihn an der gewünschten Stelle ein.
    3. In der Seitenleiste rechts wählst Du den von dir angelegten Ordner für die Bilder aus. In meinem Fall also „Fotograf Bilder“.
    4. Du solltest sofort die bereits synchronisierten Bilder sehen.
    5. Speichere die Seite – fertig.

    Synchronisation testen

    Jetzt lohnt es sich natürlich mal zu testen was passiert, wenn ein neues Bilder hinzukommt. Dazu würde ich folgendes Vorgehen empfehlen:

    1. Lade ein neues Bild in dem externen Quellordner hoch.
    2. Gehe dann im WordPress-Backend auf Medien > Verzeichnisarchive und klicke dort bei deiner Verbindung auf „Jetzt“.
    3. Warte ab bis die Synchronisation abgeschlossen ist.
    4. Anschließend gehst Du auf die Seite im Frontend in der die Galerie angezeigt wird. Du wirst das neu eingefügte Bilder hier sehen.

    Den Automatismus einrichten

    Der allerletzte Schritt ist nun noch die Aktivierung, dass die Synchronisation automatisch und ganz ohne dein Zutun erfolgt. Dazu gilt es noch etwas zu konfigurieren:

    1. Gehe auf Medien > Verzeichnisarchive und klicke bei deiner Verbindung auf „Konfigurieren“.
    2. Wähle in dem Feld für das Zeit-Intervall das gewünschte Zeitintervall aus in dem WordPress die Synchronisierung starten soll.
    3. Bestätige die Einstellung durch Speichern.
    4. Jetzt klickst Du in der Spalte „Synchronisieren“ nur noch auf „An“ um den Automatismus zu aktivieren.

    Fazit

    Für manche Anwendungsfälle bietet ein Plugin alleine nicht die Lösung an. Aber in Kombination können Plugins durchaus mächtige Lösungen bereitstellen. Mein Plugin Externe Dateien in der Mediathek bietet mit der Synchronisation ab Version 4.0.0 ein vielfältig nutzbares Werkzeug auch für völlig andere Situationen an.

    Übrigens: statt FTP kann man mit dem Plugin Externe Dateien in der Mediathek auch viele andere Quellen für externe Dateien verwenden, darunter Dropbox, AWS und Google Cloud Storage.

    Diese Anleitung wurde zuerst hier veröffentlicht: https://www.thomaszwirner.de/eine-sich-auto…erende-galerie/

    Das ist eine einfache Option in deinem Theme, wie ich das gerade bei mir nachgestellt habe. Du findest das unter Design > Anpassen > Homepage-Optionen > Slider-Banner- und Tab-Abschnitt > dort das Häkchen entfernen. Damit ist der ganze Bereich oben wieder weg und deine Beiträge rutschen nach oben.

    Schon bevor ich dieses Jahr selbst zum Organisator eines WordPress Meetups wurde, habe ich mich mit verschiedenen anderen Organisatoren darüber ausgetauscht, wieso Menschen NICHT zu einem WordPress Meetup gehen. Wir überlegten vielfach, was man machen könnte um die Veranstaltungen anziehender zu gestalten. In manchen Regionen wurden Testballons gestartet - mit mehr oder weniger Erfolg.

    Jetzt würde ich gerne mal von Menschen hier im Forum wissen, wieso ihr nicht zu einem Meetup geht.

    Und natürlich ist es eure Meinung, die entsprechend den Regeln des Code of Conduct, unter dem jedes WordPress Event veranstaltet wird, respektiert und nicht hinterfragt wird. Mir geht es vor allem darum einen Eindruck des Spektrums zu bekommen um vlt. mit neuen Themen oder neuen Abläufen WordPress Meetups interessanter machen zu können.

    Nochmal zur Definition:

    WordPress-Meetups bieten WordPress-Interessierten die Möglichkeit für einen lockeren Austausch. Ob ihr euch für Entwicklung, Design oder „nur“ die Anwendung interessiert: Hier ist für jeden etwas dabei. Neben dem Austausch organisieren viele Meetups im deutschsprachigen Raum auch themenspezifische Vorträge.

    Die meisten deutschsprachigen Meetups bieten pro Termin 1-2 Vorträge zu einem Thema sowie eine lockere Austauschrunde im Anschluss. Einige (wie wir in Leipzig) bieten auch den Werkstatt-Modus, wo innerhalb von 2-3 Stunden jeder mit seinem Problem kommen kann und man schaut es sich gemeinsam an um es zu lösen - kostenfrei.

    In dem Error-Log ist ein fataler Fehler zu sehen, der vermutlich für das Problem zuständig ist:

    Code
    PHP Fatal error:  Declaration of Doctrine\\DBAL\\Driver\\PDOConnection::query() must be compatible with PDO::query(string $query, ?int $fetchMode = null, mixed ...$fetchModeArgs): PDOStatement|false in /kunden/141429_10117/webseiten/cloud/lib/composer/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php on line 86

    Dein Server läuft mit PHP 8.0 oder neuer, aber die installierte Doctrine-DBAL-Version ist dafür zu alt. Da die problematischen Dateien nicht Bestandteil von WordPress selbst oder einem von dir genutzten Plugin sind, würde ich dir empfehlen dich an den Support des Hosters zu wenden. Der muss seine bereitgestellten Bibliotheken richtig einrichten damit es nicht mehr dazu kommt.

    Merkwürdig finde ich jedoch die Zeit zu der das erfasst wurde. Wenn du das vorhin ausgelöst haben solltest, würde die Server-Zeit erheblich abweichen. Auch das müsstest du ggfs. mit dem Support deines Hosters klären.

    Ein weißer Bildschirm deutet immer auf einen serverseitigen Fehler hin. Der kann durch vieles verursacht werden, meist ist es jedoch ein eingesetztes Plugin.

    Schau erst ins Error-Log vom Hosting. Dort würde der Fehler dokumentiert sein und dort siehst du auch wer ihn warum verursacht. Wenn du das Error-Log nicht finden kannst, wende dich an den Support deines Hosters.

    Alternativ dazu aktiviere das Debug-Log wie z.B. hier beschrieben: https://www.deinwp.de/fehleranalyse-…deiner-website/

    Wenn du mit dem Log-Eintrag nichts anfangen kannst, poste ihn gerne hier.

    Ich teste sowas gerade mit Playwright. Ursprünglich hab ich das nur für meine Plugins genutzt, um abzusichern, dass nach deren Ausführung die Oberflächen im Backend so genutzt werden können wie sie sollen. Das spart mir die Zeit bei jedem Release zu testen, ob alles funktioniert. Aber man kann es auch automatisiert zum Testen von Abläufen auf produktiven Websites einsetzen. Ist nur eher sehr technisch und nicht für jeden etwas.

    Solche Funktionsprobleme entstehen ja meist nach Updates von Komponenten des Projektes. Da verschieben sich Pixel, das Menü ist plötzlich nicht mehr benutzbar - und es fällt gar nicht sofort auf. Vor allem bei automatischen Updates ist das böse. Für solche Fälle hat ein Freund von mir den WebchangeDetector entwickelt: https://www.webchangedetector.com - gibts auch als kostenfreies Plugin für eine begrenzte Anzahl Prüfungen.

    Du nutzt für diese Ausgabe den Block "Post and Page Grid" vom Plugin "Genesis Blocks". Die Datenbasis sind bei dir offenbar Seiten, d.h. jedes Team Mitglied ist bei dir eine Seite. Das ist ein Vorteil, denn es ist eine Datenbankabfrage, die der Ausgabe zugrunde liegt und kein statischer Text.

    Ich hab mir dieses Plugin und den von ihm mitgebrachten Block eben mal angeschaut. Ich kann dort keine Option entdecken, über die man eine zufällige Reihenfolge steuern kann.

    Dennoch hast du noch 4 Möglichkeiten um deinen Wunsch umzusetzen:

    • Wende dich an den Support des von dir für die Liste genutzten Plugins: https://wordpress.org/support/plugin/genesis-blocks/ - die könnten dir sagen und wenn ja es doch eine versteckte Option dazu gibt.
    • Oder verwende einen anderen Block um diese Liste anzuzeigen, der so eine Funktion bereits mitbringt. Der WordPress-eigene Abfrage-Block könnte z.B. mit diesem Plugin dazu erweitert werden: https://wordpress.org/plugins/random…ery-loop-block/ - dieses Plugin ist aber vermutlich nicht mit dem von dir genutzten Block-Plugin kompatibel, weshalb du schon die ganze Ausgabe umstellen müsstest um das zu lösen.
    • Oder eine Lösung mit purem JavaScript. Müsste man jedoch individuell entwickeln und könnte sich auf die Performance der Seite negativ auswirken, da jeder Browser das selbst erst neu anordnen muss.
    • Oder nutze individuelle Programmierung um die Datenbankabfrage, die dieser Liste zu Grunde liegt, anzupassen.

    Letzteres könnte z.B. mit diesem Code machbar sein:

    Das ist nur sehr grob geschrieben, man müsste es konkret auf diesen Block noch einschränken. Wenn man den Code hier so verwendet, könnte er sich auch auf andere Datenbankabfragen auswirken. Einfügen müsstest du den Code in der functions.php eines Child-Themes oder per Code Snippet Plugin.

    Wie heißt der Name des Blocks in dem sie derzeit angezeigt werden? Und woher stammen die Daten, die er anzeigt? Sind sie direkt dort eingegeben oder hast du einen Post Type, wo sie erfasst sind und die dort dann angezeigt werden? Gerne kannst du auch einen Screenshot teilen von dem was du vor dir hast oder auch einen Link wo man sich die Ausgabe im Frontend selbst anschauen kann.