Beiträge von m266

    Vielen Dank für die Info. Ich gehe jetzt einen anderen Weg und suche auf dem alten Server mit dem Plugin "Media Hygiene" nach unbenutzten Bildern, welche gelöscht werden. Dann schaue ich den Zeitraum der nicht verknüpften Bilder an und exportiere diese. Nach dem Import in die neue Website versuche ich die nicht benutzten Bilder, welche übertragen wurden, wieder zu entfernen. Es ist leider mühsam.

    Hallo zusammen,
    folgendes Szenario:
    Eine alte Website (A) soll neu aufgebaut werden. Dazu wird eine neue Website (B) in Grundinstallation erstellt. Aus einer Vorlage werden einige Seiten sowie die notwendigen Plugins nach B importiert.
    Seiten und Artikel von A werden in eine XML-Datei exportiert.
    Die exportierten Seiten und Artikel werden mit dem Importer in B (mit Anhängen) importiert.

    Danach zeigt sich folgendes Problem:
    Bilder, welche in der alten Mediathek A verknüpft waren, erscheinen auch in der neuen Mediathek B als verknüpft und werden eingebunden.
    Nicht verknüpfte Bilder der alten Mediathek A werden nicht importiert und fehlen somit in der neuen Mediathek und in den Seiten.

    Wenn es sich um wenige Bilder handelt, können diese vor dem Export in der alten Mediathek A verknüpft werden. Dann erscheinen sie auch in der neuen Mediathek B und in den Seiten.
    Handelt es sich bei großen Websites aber um Hunderte Bilder, ist das manuell nicht zu schaffen.

    Frage:
    Gibt es irgend einen Trick, ein Plugin oder Script, um massenweise nicht verknüpfte Bilder vor dem Export zu verknüpfen?
    Eine Migration (z. B. mit WPvivid o. ä.) kommt für diesen Fall nicht in Frage, weil bei der Aktion die Altlasten nicht übertragen werden sollen.

    Ich hoffe, das Problem ist verständlich beschrieben.

    Vielen Dank für jeden guten Tipp!

    Sind die fehlenden Bilder bei der Quellseite in der Mediathek mit dem entspr. Beitrag verknüpft?


    Genau das war vermutlich der Fehler. Es gab 20 unverknüpfte Dateien in der Quellsite Mediathek. Nach Herstellen der Verknüpfungen und erneutem Export/Import der Seiten wurden die bisher fehlenden Dateien eingefügt. Auf diesen Aspekt hatte ich bisher nie geachtet, weil es bei der Quellsite keine Rolle spielt.
    Herzlichen Dank für den guten Tipp!

    Welche Bilder genau fehlen, Beispiel? Evtl. sind sie nicht mit dem Beitrag verknüpft o.ä.


    Ich habe den Export/Import auf Subdomains mehrfach durchgespielt. Es fehlen nicht immer die gleichen Bilder. Bei einer Seite mit 6 Bildern in einer Tabelle fehlt oft das gleiche Bild und gestern sogar 4 Bilder.
    Die Quellsite wird mit Theme Blocksy und Classic-Editor betrieben, die Zielsite mit Theme Kadence und Gutenberg (Blockmodus).
    Auf einigen Websites habe ich gelesen, dass es Probleme beim WordPress-Importer mit fehlenden Dateien/Bildern gibt. Eine Lösung fand ich allerdings nirgendwo.

    Beispiel 1 (Bild übernommen):
    HTML-Code (Quellseite):

    Code
    <img fetchpriority="high" decoding="async" class="wp-image-7674 size-full aligncenter" src="https://xxx/wp-content/uploads/2021/11/Lothar-sbr-web.jpg" alt="" width="399" height="500">

    HTML-Code gleiches Bild (Zielseite):

    Code
    <img fetchpriority="high" decoding="async" class="wp-image-7674 size-full aligncenter" src="https://xxx.com/wp-content/uploads/2021/11/Lothar-sbr-web-1.jpg" alt="" width="399" height="500" srcset="https://xxx.com/wp-content/uploads/2021/11/Lothar-sbr-web-1.jpg 399w, https://xxx.com/wp-content/uploads/2021/11/Lothar-sbr-web-1-239x300.jpg 239w" sizes="(max-width: 399px) 100vw, 399px">

    Beispiel 2 (Bild fehlt):
    HTML-Code (Quellseite):

    Code
    <img decoding="async" class="aligncenter" src="https://xxx/wp-content/uploads/2021/11/Seidel.jpg">

    HTML-Code gleiches Bild (Zielseite):

    Code
    <img decoding="async" class="aligncenter" src="https://xxx.com/wp-content/uploads/2021/11/Seidel.jpg">

    In der Mediathek der Zielsite sind die fehlenden Bilder nicht vorhanden.
    Wenn ich den betreffenden Uploads-Ordner von der Quell- zur Zielsite kopiere, wird im Beispiel 2 das Bild angezeigt. Beim Kopieren aller Unterordner von Uploads sind vermutlich die meisten Bilder da. Der Nachteil dabei ist, dass nicht mehr verlinkte Bilder (Datenmüll) auf die Zielsite übertragen werden.
    Eine Idee?

    Hallo zusammen,
    ich nutze den WordPress-Importer zum Exportieren und Importieren von Posts (Beiträge, Seiten).
    Beim Importieren von Seiten fehlen regelmäßig einige Bilder, was manuell beseitigt werden muss.
    Gibt es ein geeignetes kostenloses Plugin oder eine andere brauchbare Lösung?
    Es handelt sich um den Neuaufbau einer Website auf einem anderen Server und es sollen nur die Posts mit Dateien kopiert werden. Für den Umzug einer kompletten Website verwende ich seit langer Zeit "WPvivid", was ausgezeichnet funktioniert.
    Für gute Tipps bin ich dankbar.

    Am Beispiel deiner "importierten" Galerie wäre es ausreichend am umgebenden <p>


    Wenn ich das recht verstehe, müsste ich dies bei allen Bildergalerien machen. Das ist aber aufgrund der Anzahl Galerien zuviel Aufwand. Daher bevorzuge ich eine Lösung mit CSS-Code, gültig für alle Seiten. Bisher habe ich mit meinem eingefügten Code keine negativen Auswirkungen erkannt und kann es ggf. so belassen.

    Dort besteht die Chance, dass sie auch sowohl von Optimierungs-Plugins wie auch vom Browsercache gecached werden können.


    Erstaunlicherweise sind die Webseiten bei Verwendung von Kadence recht schnell, so dass ich auf Cache-Plugins verzichten kann. Bei der Programmierung wird man durch solche Plugins auch öfter zum Narren gehalten. Das kennst du sicher. Die Performance meiner Testsite kannst du gerne mit diesem Tool messen und mit anderen Websites vergleichen. Mit Blocksy habe ich i. d. R. trotz Cacheplugin schlechtere Werte; besonders in der mobilen Darstellung. Deshalb ist das Theme Kadence aktuell mein Favorit.

    Ich verwende ein Child-Theme und da kommt die CSS in die style.css rein. Sehe keinen Grund, hier eine PHP-Datei zu verwenden oder den Customizer zu benutzen. Das fertige Child-Theme wird regelmäßig aktualisiert und dann verteilt.

    Meine Frage war aber eigentlich, ob alignnone für diesen Zweck richtig ist oder bisher noch nicht entdeckte Nebenwirkungen hat. Die alten Bildergalerien sollen nahtlos weiter laufen, da eine Umstellung bei den vielen Galerien pro Website zu aufwändig ist. Neue Galerien sind wie erwähnt davon nicht betroffen.

    Hallo zusammen,

    ich betreibe mehrere Websites, welche mit dem Classic Editor und dem Theme Blocksy erstellt wurden. Bei den Bildergalerien wurden alle Bilder untereinander angeordnet, was mit diesem CSS-Code in nebeneinander berichtigt wurde:

    Code
    /* Bilder in Galerie nebeneinander */
    .gallery-item {
    float: left;
    padding: 10px;
    }
    .gallery {
    overflow: hidden;
    }

    Aktuell läuft ein Umbau mit Theme-Wechsel zu Kadence. Damit ist der obige CSS-Code wirkungslos. Als Lösung wurde dieser Code im Customizer eingebunden (kommt später in die functions.php rein):

    Code
    /* Bilder in Galerie nebeneinander */
    .alignnone {
        float: left;
        padding: 5px;
    }

    Ist das aus eurer Sicht OK oder gibt es bessere Lösungen?
    Die beiden Bilder zeigen die fehlerhafte und die richtige Darstellung der Bildergalerie.

    Neue Bildergalerien werden mit Gutenberg erstellt und sind OK.

    Hier der Link zu einer Test-Website:
    https://galerie.m266.de/

    Feedback erbeten.
    Vielen Dank.

    Ich habe in einer neuen Testumgebung alle Codebeispiele als Plugin getestet. Funktioniert hat nichts. Vermutlich muss ich auch nicht alle Posts neu speichern, da es im Frontend bis auf die Tabellen normal aussieht. Seiten mit Tabellen wären dann nachzuarbeiten. Also nur ein Sturm im Wasserglas, oder sehe ich das falsch? Die Abstütze sind nicht mehr aufgetreten.

    Habe das Script in meinem lokalen Webserver LocalWP getestet. Momentan kommen nur diese Meldungen in Masse:
    PHP Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in... usw.

    Ich baue mal eine Testumgebung zusammen und melde mich wieder.
    Vielen Dank für die Hinweise.

    aber dennoch gehe ich davon aus dass kaum ein provider für ein shared hosting die serverlast erlauben würde die für so einen skriptdurchlauf erforderlich wäre

    Der Absturz kommt sofort nach Einfügen des Scripts und nicht erst Minuten später. Um das zu untersuchen, müsste ich die Serverlogs auslesen.

    apropos 1h: wenn ich mal so hochrechne könnte man 500 seiten in 45 min öffnen und speichern.


    Das ist richtig, aber ich betreue bundesweit ehrenamtlich ca 70 Websites. Also keine gute Lösung, alles per Hand zu machen.

    was ist unter "absturz" zu verstehen? ist das ein eigener server?


    Die Websites sind bei all-inkl.com gehostet. Nach dem Einfügen einiger Scripts (welche alle Posts updaten sollen) kommt die bekannte Meldung: Schwerwiegender Fehler... und die Website ist nicht mehr erreichbar. Wenn der eingefügte Code aus der functions.php entfernt wird, läuft die Website wieder.

    das wäre mir jetzt neu.


    Vielleicht unklar von mir ausgedrückt:
    Erst nach dem Einsatz des Plugins "Convert to Blocks" ergeben sich Probleme in der Darstellung. Die Tabellen enthielten im alten Theme eigene CSS, was sicher dazu beiträgt.

    hast den code in deine theme functions.php eingefügt?


    Habe ich mit dem Beispiel und anderen Codes gemacht. Entweder keine Reaktion oder Absturz.
    Mit meinen Kenntnissen komme ich nicht weiter. Der erforderliche PHP-Code muss lediglich dafür sorgen, dass alle Posts neu gespeichert werden. Dabei kann ich den Code auch in ein Plugin einfügen, da er nur einmal ausgeführt werden muss. Per Hand ist das bei vielen Post nicht machbar.

    Hallo zusammen,

    nach einem Theme-Wechsel muss ich alle Seiten/Beiträge neu speichern.

    Vorgehensweise:
    - Vorhandene Website mit Theme Blocksy wird im Classic Mode betrieben
    - Theme Kadence installiert
    - Classic-Mode (Plugin) abgeschaltet
    - Mit Plugin Convert to Blocks alle Seiten auf Blöcke umgestellt
    - Bei Tabellen fehlen danach die Linien und die Inhalte sind nicht responsive.
    - Jede Seite/Post will nach dem Öffnen neu gespeichert werden
    - Bei meinen Websites sind das bis zu 500 Seiten, also per Hand zu viel

    Verschiedene Scripts ausprobiert, wobei keines funktioniert (Entweder Absturz oder keine Reaktion). Beispiel:
    https://marameodesign.com/insights/littl…dpress-by-code/

    Hat jemand noch eine Idee oder ein funktionierendes Script?
    Vielen Dank.

    Wie/wo rufst Du den Customizer auf, wenn der "schwarz" ist? Welche genaue URL? Was wird schwarz gezeigt?


    Ich klicke nach der Aktivierung von 2022 auf den Button Customizer. Dann kommt dieses "schwarze" Bild:

    Der [FONT=Courier New]parse_url[/FONT] Aufruf in der Zeile 5318 in der Funktion [FONT=Courier New]attachment_url_to_postid()[/FONT] erwartet einen [FONT=Courier New]string[/FONT], bekommt aber lt. Deinem Error Log ein [FONT=Courier New]array[/FONT] übergeben. Du kannst z.B. direkt vor der entspr. Zeile 5318 in [FONT=Courier New]media.php[/FONT] temporär etwas Code ergänzen, damit Du mehr Informationen im Error Log hast, was da eigentlich ankommt bzw. wo Du weiter suchen kannst.


    Habe den Code zugefügt. Dann Theme Hello aktiviert und auf den Button Customizer geklickt.
    Ergebnis:
    [24-Oct-2024 20:29:20 UTC] PHP Warning: Attempt to read property "title" on null in /www/htdocs/xxx/customizer.web266.de/wp-includes/class-wp-customize-widgets.php on line 905
    [24-Oct-2024 20:29:20 UTC] Array
    (
    [desktop] =>
    [tablet] =>
    [mobile] =>
    [__changed] => Array
    (
    )
    )
    [24-Oct-2024 20:29:20 UTC] PHP Fatal error: Uncaught TypeError: parse_url(): Argument #1 ($url) must be of type string, array given in /www/htdocs/xxx/customizer.web266.de/wp-includes/media.php:5319
    Stack trace:
    #0 /www/htdocs/xxx/customizer.web266.de/wp-includes/media.php(5319): parse_url(Array)
    #1 /www/htdocs/xxx/customizer.web266.de/wp-includes/customize/class-wp-customize-upload-control.php(59): attachment_url_to_postid(Array)
    #2 /www/htdocs/xxx/customizer.web266.de/wp-includes/customize/class-wp-customize-cropped-image-control.php(78): WP_Customize_Upload_Control->to_json()
    #3 /www/htdocs/xxx/customizer.web266.de/wp-includes/class-wp-customize-control.php(337): WP_Customize_Cropped_Image_Control->to_json()
    #4 /www/htdocs/xxx/customizer.web266.de/wp-includes/class-wp-customize-manager.php(5011): WP_Customize_Control->json()
    #5 /www/htdocs/xxx/customizer.web266.de/wp-includes/class-wp-hook.php(324): WP_Customize_Manager->customize_pane_settings('')
    #6 /www/htdocs/xxx/customizer.web266.de/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters(NULL, Array)
    #7 /www/htdocs/xxx/customizer.web266.de/wp-includes/plugin.php(517): WP_Hook->do_action(Array)
    #8 /www/htdocs/xxx/customizer.web266.de/wp-admin/customize.php(306): do_action('customize_contr...')
    #9 {main}
    thrown in /www/htdocs/xxx/customizer.web266.de/wp-includes/media.php on line 5319

    Was bedeutet, Du stellst dort Kadence, Hello usw. ein? Im Child Theme für Blocksy? Falls ja, dann wird und kann das nicht funktionieren, ein Child Theme funktioniert bei eigenen Code Anpassungen nur mit dem dafür gedachten Parent Theme.


    Vielleicht habe ich mich unklar ausgedrückt:
    Meine bisherige Version läuft mit einem Child von Blocksy. Ich lade das Theme Kadence und aktiviere es. Dann wären Anpassungen an den Seiten zu machen und die Theme-Settings zu importieren. Da der Customizer bei Kadence nicht angezeigt wird, bleibe ich da hängen.
    Ich hoffe, du verstehst, was ich meine.

    Was bedeutet "schwarz" bei Twenty 22/23?


    Das sind wohl eigene Settings und der Customizer wird m. E. nicht benutzt.

    Die bisherigen Webseiten werden mit einem Blocksy Child betrieben. Wenn ich dort das Theme Kadence, Hello usw. einstelle, tritt der Fehler mit dem Customizer schon auf. Daher ist bereits meine alte Installation fehlerhaft.
    Zur Migration nehme ich schon lange WPvivid und bin damit sehr zufrieden. Bei Interesse kannst du meine Tutorials lesen. Wenn der Fehler mit dem Customizer nicht gefunden wird, muss ich wie erwähnt den umständlichen Weg gehen. Ansonsten würde ich mit WPvivid eine Kopie der bisherigen Installation auf einer Subdomain vornehmen, Kadence installieren und weitere Anpassungen vornehmen. Wenn alles läuft, wird die Website von der Subdomain als künftige Domain der alten Website eingerichtet. Diese Umzüge, Migrationen habe ich schon oft mit WPvivid erfolgreich gemacht.