unexpected T_CONSTANT_ENCAPSED_STRING

  • Hallo Leute,
    ich habe gerade einen Katastrophen-Fehler. Die vollständige Fehlermeldung lautet:

    [COLOR=#000000][FONT=Times]Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /mnt/webi/d2/14/53441914/htdocs/wordpress/wp-content/themes/Scylla_Pro/functions.php on line 9

    Hier noch den ersten Block meines [/FONT][/COLOR][FONT=Times][size=12][COLOR=#000000]Funktion.php`s

    [/COLOR][/SIZE][/FONT]<?php
    add_theme_support('automatic-feed-links');
    if ( ! isset( $content_width ) )
    $content_width = 560;


    function add_search_to_wp_menu ( $items, $args ) {
    if( 'primary' === $args -> theme_location ) {
    $items .= '<li class="menu-item menu-item-search">';
    $items .= '<form method="get" class="menu-search-form" action="' . get_bloginfo('home') . '/"><p><input class="text_input" type="text" name="s" id="s" placeholder="suchen..." onfocus="this.placeholder = ''" onblur="this.placeholder = 'suchen...'" /><input type="submit" class="my-wp-search" id="searchsubmit" value="suche" /></p></form>';
    $items .= '</li>';
    }
    return $items;
    }
    add_filter('wp_nav_menu_items','add_search_to_wp_menu',10,2);


    //Post Thumbnail


    Ich hoffe, dass ihr mir hier schnell helfen könnt ...

    Vielen Dank im voraus

    • 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

  • Nochwas: ich hatte einen ähnlichen Fehler vor ein paar Wochen schon einmal. Damals habe ich ihn behoben, indem ich meine functions.php einfach neu über Filezilla hochgeladen habe. Heute hat das allerdings nicht funktioniert :-(

  • Du hast doch an der Datei rumgfuscht, gibs zu ;)



    function add_search_to_wp_menu ( $items, $args ) {
    if( 'primary' === $args -> theme_location ) {
    $items .= '<li class="menu-item menu-item-search">';
    $items .= '<form method="get" class="menu-search-form" action="' . get_bloginfo('home') . '/"><p><input class="text_input" type="text" name="s" id="s" placeholder="suchen..." onfocus="this.placeholder = ''" onblur="this.placeholder = \'suchen...\'" /><input type="submit" class="my-wp-search" id="searchsubmit" value="suche" /></p></form>';
    $items .= '</li>';
    }
    return $items;
    }
    add_filter('wp_nav_menu_items','add_search_to_wp_menu',10,2);

    Digitaler Rucksack Nomade

  • Ja, stimmt. Hab mein Such-Fenster verbessern wollen. Doch als ich die Meldung bekommen habe, habe ich versucht die alte Datei wieder hochzuladen. Die Fehlermeldung blieb aber ...
    Blöderweise hab ich den Tab geschlossen, so dass ich jetzt nicht mehr an den Editor komme ... :-(

  • Die o.g. gepostete Datei ist die Originaldatei !!!
    Das ist ja gerade das, was mich wundert. Nachdem die Fehlermeldung kam, bin ich zurück gegangen und hab die Originaldatei wieder eingesetzt, doch der Fehler kam wieder. Das Ganze geht sogar soweit, dass ich die Website nicht mehr sehe und stattdessen auch dot der Fehlercode angezeigt wird.

    Hab son fertiges Template benutzt, daher kommt die Datei.
    Habt ihr denn ne Idee, wie ich die functions.php sauber kriege. Der Template-Programmierer antwortet mir nicht mehr ...

  • [COLOR=#333333]add_filter('wp_nav_menu_items','add_search_to_wp_m enu',10,2);[/COLOR]

    Ich sehe ein Leerzeichen, was da nichts verloren hat... ;)

    Try:

    Code
    [COLOR=#333333]add_filter('wp_nav_menu_items','add_search_to_wp_menu',10,2);[/COLOR]

    Ansonsten lade das komplette Theme einfach mal neu in den Themes-Ordner. Am besten in ein eigenes Unterverzeichnis. Erstelle einfach ein beliebiges und kopiere die Inhalte dann dort rein.

    Aktiviere das "doppelte" Theme.

    Wenn es funkt, kannste des alte überschreiben.

    Be creative.

  • Michi91 hat die richtige Lösung schon gebracht. Innerhalb eines Strings, der als Begrenzer einfache Anführunsgzeichen hat, müssen diese maskiert werden. So z.B. an der Stelle:

    Code
    $items .= '... onblur="this.placeholder = [B]\[/B]'suchen...[B]\[/B]'" ...';


    Vor und nach dem 'suchen...'.

    Das Leerzeichen im add_filter führt zwar dazu, daß die Sache selbst nicht funktionieren wird, erzeugt aber keinen PHP-Parse Error.

    Gruß
    Ingo

    Wenn ich helfen konnte, bitte [ Gefällt mir ] klicken. :-)

  • Das Leerzeichen im add_filter führt zwar dazu, daß die Sache selbst nicht funktionieren wird, erzeugt aber keinen PHP-Parse Error.

    Bei mir schon, da ich in der Lage bin, das Error-Reporting einzustellen. Hilft alles nichts, ist ein Fehler. Punkt. :roll:

  • Bei mir schon, da ich in der Lage bin, das Error-Reporting einzustellen. Hilft alles nichts, ist ein Fehler. Punkt. :roll:

    Echt? Wieso sollte ein Leerzeichen nicht in einem String erlaubt sein und entsprechend einen Parse-Error erzeugen. Ich habe in PHP schon viele Strings mit Leerzeichen drin geschrieben und noch nie eine Parse-Error erhalten, selbst mit Error-Reporting ALL oder so. :-)

    Gruß
    Ingo

    Wenn ich helfen konnte, bitte [ Gefällt mir ] klicken. :-)

  • Wenn die Datei am Anfang funktioniert hat, dann kann das oben nicht der Code der Original-Datei sein. Das ist mit dem Fehler, den Putzlowitsch da aufgedeckt hat, nicht möglich. Das Leerzeichen in add_filter verhindert auch, dass die Funktion an das korrekte Event gebunden wird.[COLOR=#3E3E3E][/COLOR]

  • Ich bin es nochmal. Inzwischen traue ich mich nicht mehr an die Datei.

    Nochmal zur Erklärung: Es ist Folgendes passiert:

    Alles funktionierte einwandfrei. Allerdings wollte ich mein Suchfenster optimieren und habe mich an den Entwickler des Templates gewandt, der mir dann einen neuen Code schickte und mir dazu schrieb, was ich verändern soll. Als ich dies getan habe, bekam ich den Fehler.
    Scheiße!
    Dann habe ich den kompletten Code gelöscht und den alten (den ich vorher kopiert hatte) wieder eingesetzt. Der Fehler blieb aber auch nachdem ich es mehrfach versucht hatte. Letztlich half mir nur das Theme über Filezilla neu hochzuladen.

Jetzt mitmachen!

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