Nach Update auf 3.5 Fehlermeldung…../wp-includes/formatting.php on line 3382

  • Hallo,

    ich habe folgendes Problem. Nach dem Update auf 3.5 bekomme ich folgende Warnung angezeigt:

    Warning: stripos() expects parameter 1 to be string, array given in /www/……../wp-includes/formatting.php on line 3382

    On Line 3382:

    PHP
    if ( 0 !== stripos( $url, 'mailto:' ) ) {
            $strip = array('%0d', '%0a', '%0D', '%0A');
            $url = _deep_replace($strip, $url);
        }



    Weiß jemand von euch was damit gemeint ist?

    Danke für die Hilfe!

    • 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

  • Irgendwie fehlen da noch eine ganze Menge Informationen:

    * Wirklich Update auf 3.5? Oder doch eher 4.5?
    * die Zeile aus der formatting.php alleine hilft uns leider nicht wirklich weiter.

    Solche Fehlermeldungen sind so aufgebaut, dass sie zuerst einmal anzeigen, wo im WP-Core definiert ist, womit irgendeine Funktion oder Ausgabe in einem Theme oder PlugIn nicht (mehr) zusammenpasst.
    Später müsste auch irgendwo aufgeführt sein, wo der Fehler in einer Theme- oder PlugIn-Datei liegt. Das ist die relevante Info (du sollst ja nicht anfangen, deinen WP-Core einem veralteten Theme oder veralteten PlugIns anzupassen …)

    Wenn du die vollständige Fehlermeldung nicht findest: Immerhin ist in diesem Teil der Fehlermeldung ein Hinweis, dass es im Zusammenhang mit URLs und mailto: Probleme gibt. Das könnte auf ein PlugIn hindeuten, das eine Mail versendet: Kontaktformular oder Newsletter … Gezielt mal auf diese Seiten gehen (Adminbereich und auf der Webseite / Frontend) und gucken, ob sich da eine genauere Fehlermeldung findet.

    Gruß
    helix

  • Sorry, das Update ist 4.5.1 du hast Recht, da habe ich mich vertan.

    Die oben genannte Fehlermeldung wird auf der Webseite ausgegeben, ich habe sie jetzt erst ein mal ausblenden können.

    Im Zuge des Updates habe ich auch das Plugin "Contact Form7" aktualisiert und hatte danach 2 Fehlermeldungen vom PlugIn, die ich dadurch beheben konnte, dass ich die zwei Kontaktformulare neu eingerichtet habe und die alten beiden von mir gelöscht wurden, keine weiteren Fehlermeldungen des Plugins "Contact Form7". Formulare getestet kein Problem.
    Ich habe das Plugin "Contact Form7" probeweise deaktiviert, Fehlermeldung bleibt.
    Ansonsten keine weiteren Auffäligkeiten die auf die Fehlermeldung zurückzuführen sind.

    Jetzt weiß ich nicht wie ich weiter verfahren soll evtl.
    1. Alle plugins nacheinander deaktivieren um zu sehen, ob die Fehlermeldung bestehen bleibt?
    2. Mich an den Theme Authoren wenden?

  • Ich verstehe nicht ganz, was du mit der Formulierung „erst ein mal ausblenden können“ meinst? Hast du jetzt eine Fehlermeldung weniger? Oder hast du gerade keine Fehlermeldungen, weil ausgeblendet – aber weißt, dass da noch was ist …?

    Ich vermute ersteres.

    Das mit den PlugIns eher umgekehrt. Zuerst alle deaktivieren. Besteht das Problem noch? Dann auch das Theme deaktivieren und statt dessen ein Standard-Theme Twenty-irgendwas aktivieren. (im Zweifelfsfall Twenty Sixteen, das neueste).

    Wenn dann wieder alles funktioniert, wie es soll, weißt du, dass es am Theme liegt, dann ist Theme-Autor kontaktieren sinnvoll.

    Wenn bei alle-PlugIns-deaktiviert (aber noch mit deinem „eigenen“ Theme) alles funktioniert, wie es soll, weißt du, dass irgendein PlugIn verantwortlich ist. Im allgemeinen findet man das recht schnell, wenn man dann PlugIn für PlugIn wieder aktiviert und immer dazwischen drin kontrolliert, ob noch alles funzt. Wenn nein: aha, Übeltäter erwischt.

    Für genauere Fehlersuche ist es dann sinnvoll, in der wp-config.php das Debugging auf true zu setzen. Dann solltest du etwas ausführlichere Fehlermeldungen ausgegeben kriegen. Die sehen zwar erstmal hässlich aus, geben dafür aber dann Auskunft, wo der Hase wirklich im Pfeffer liegt.
    Meistens. Sonst muss man weiter sehen.

    Gruß
    helix

  • Hallo Helix,
    danke für deine Rückmeldung.
    Mit ausblenden meine ich per Code die Warnmeldung im Front-End herausnehmen, das sieht immer hässlich aus und zerschießt mir das Layout.
    Warnmeldung im Frontend ausschalten:
    In die wp-config.phpganz nach unten kopiert:

    PHP
    /** Sets up WordPress vars and included files. */
        require_once(ABSPATH . 'wp-settings.php');
    
    
    error_reporting(0);

    ....die Schalte ich dann immer wieder ein und aus beim Testen. (Frage gibt es eine elegantere Möglichkeit den Fehlercode auszugeben, so das er nicht im Frontend erscheint z.B. im Back-End, zu mindestens solange wie ich den Fehler suche?)
    Ich werde das Prozedere das du beschrieben hast ausprobieren und mich dann zurückmelden. Des weiteren muss ich erst noch mal Rücksprache halten, da ich im Theme das Mehrsprachen Plugin von WPML benutze, ob ich das so ohne weiteres deaktivieren kann.

  • ich habe jetzt noch mal in der wp-config.php das Debugging auf true gestzt und folgende Warnhinweise bekommen:

    (1.) Notice: register_post_type wurde fehlerhaft aufgerufen. Der Name eines Inhaltstyps muss aus mindestens einem und maximal 20 Zeichen bestehen. Weitere Informationen: Debugging in WordPress (en) (Diese Meldung wurde in Version 4.2 hinzugefügt.) in /www/htdocs/......./wp-includes/functions.php on line 3897

    (2.) Warning: stripos() expects parameter 1 to be string, array given in /www/htdocs/..../wp-includes/formatting.php on line 3382

    (3.) Notice: Array to string conversion in /www/htdocs/...../wp-includes/formatting.php on line 3325

    - - - - - - - - - - - - - - - - - - - - - - - -

    (1.) functions.php on line 3897:

    PHP
    trigger_error( sprintf( __( '%1$s was called <strong>incorrectly</strong>. %2$s %3$s' ), $function, $message, $version ) );

    Abschnitt:[COLOR=#b22222] [/COLOR]


    (2.) formatting.php on line 3382

    PHP
    if ( 0 !== stripos( $url, 'mailto:' ) ) {
            $strip = array('%0d', '%0a', '%0D', '%0A');
            $url = _deep_replace($strip, $url);
        }

    Abschnitt:[COLOR=#b22222] [/COLOR]


    (3.) formatting.php on line 3325:

    PHP
    $subject = (string) $subject;

    Abschnitt:[COLOR=#b22222] [/COLOR]

    Einmal editiert, zuletzt von Hesi (29. April 2016 um 13:28)

  • Hast du denn jetzt mal die Übung mit PlugIns deaktivieren, ggf. auch Theme deaktivieren, gemacht?

    Ansonsten: So fürchterlich ergiebig sind für mich diese Fehlermeldungen nicht.
    Bei der von dir als erste geposteten Fehlermeldung ist ein Custom Post Type im Spiel. – Welches von deinen PlugIns bringt Custom Post Types mit?

    Und im unteren Block ist wieder ein mailto: mit dabei …
    Das muss nicht das Kontaktformular sein. Kann jedes PlugIn sein, das irgendwie Mails versendet. (Meinem unmaßgeblichen Verständnis nach. Ich bin nicht WordPress …)

    Gruß
    helix

  • Der Author hat das Theme Überarbeitet, die Fehlermeldungen sind verschwunden, danke noch mal für die Hilfe und die Anleitung zur Fehlerfindung.

Jetzt mitmachen!

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