Parse error: syntax error, unexpected T_ARRAY

  • Hallo,
    ich habe mal eine Frage als absoluter PHP Laie. Bin gerade dabei, mir ein Wordpress Template zu installieren. Wenn ich das neue Template in Wordpress aktiviere, erhalte ich immer wieder die Fehlermeldung Parse error: syntax error, unexpected T_ARRAY, expecting ')' in ...wp-content/themes/frailespatique/functions.php on line 1584

    Die Zeilen lauten:

    // pagination for custom post types
    define('PER_PAGE_DEFAULT', 10);
    function custom_query_posts(array $query = array())
    {
    global $wp_query;
    wp_reset_query();

    $paged = get_query_var('paged') ? get_query_var('paged') : 1;

    $defaults = array(
    'paged' => $paged,
    'posts_per_page' => PER_PAGE_DEFAULT
    );
    $query += $defaults;

    $wp_query = new WP_Query($query);

    Könnt Ihr hier einen Fehler erkennen?
    Vielen Dank für Eure Hilfe

  • So wie ich gesehen habe, muss man dieses Theme kaufen, ist das richtig? Wenn ja, musst du doch auch irgendwie Support dazu bekommen, wenn etwas nicht stimmt...

    Naja also mir kommt

    PHP
    function custom_query_posts(array $query = array())


    etwas komisch vor. In einem Array sollte ja etwas drin stehen bzw. es sollten die Klammer da sein um etwas reinzuschreiben. Also versuch es entweder so:

    PHP
    function custom_query_posts(array($query = array()))


    oder so:

    PHP
    function custom_query_posts($query = array())

    Don't follow me, I run into walls.

  • Santos, bitte nicht mit schlechtem Halbwissen rumprollen. Du erzählst hier totalen Schrott.
    array $query=array() bezeichnet einen Parameter, der zwingend vom Typ array sein muss und als defaultwert ein leeres Array ist.

    @unregistriert: In dem Code sind keine Fehler drinne. Ich vermute mal, deine PHP-Version ist zu alt. Um den array-Typehint zu nutzen braucht es mind. Version 5.1.


  • Hallo,
    vielen Dank für Eure Antworten. Glaube langsam auch, dass es an der PHP Version liegt. Jetzt gleich die nächste Laienfrage hinterher: Wie update ich diese Version, ich habe mein Webspace bei Profihost, also sowohl den Space als auch die MySQL Datenbank. Kann ich das dann überhaupt updaten oder liegt das allein am Host?

    Danke für Eure Hilfe ;)

  • webspace kannst du nicht selber updaten. Das ist Sache des Hosters.
    Du hast 2 Möglichkeiten:
    1. Du schreibst das Template selber um, so dass es zu deiner PHP-Version kompatibel ist.
    2. Du fragst beim Programmierer des Templates nach, ob es bereits eine abwärtskompatible Version gibt.


  • Zitat

    Santos, bitte nicht mit schlechtem Halbwissen rumprollen. Du erzählst hier totalen Schrott.

    Sowas kann man auch nett ausdrücken. Ich wollte versuchen zu helfen. Dass ich kein Master bin ist mir klar. Danke an deine Erklärung, jetzt weiß ich auch wieder mehr.

    Don't follow me, I run into walls.

  • Sowas kann man auch nett ausdrücken. Ich wollte versuchen zu helfen. Dass ich kein Master bin ist mir klar. Danke an deine Erklärung, jetzt weiß ich auch wieder mehr.


    sicher gehts auch nett. Allerdings ist das ein Verhalten, welches sicherlich nett gemeint ist, aber für den Hilfesuchenden gefährlich ist.
    Wenn du eine Zeile nicht verstehst, rate bitte nicht was es sein könnte oder wie du es dir vorstellst dass es sein könnte.
    Stattdessen informiere dich zuerst. php.net wäre da die richtige anlaufstelle gewesen, bzw. google.
    Alternativ hättest du die Frage sogar direkt hier im Thread stellen können.
    so far...


  • Verstehe. Meine Antwort war eher so gemeint: "So würde ich das versuchen, wenns nicht klappt halt wieder rückgängig machen"

    Naja, scheint sich ja sowieso geklärt zu haben :)

    Don't follow me, I run into walls.