2016-10-31 4 views
0

Ich versuche, die Übertragung eines WordPress-Theme-Optionen von SMOF zum Redux Framework zu machen, da SMOF nicht mehr gepflegt wird. Ich habe erfolgreich übertragen alle anderen Optionen, und sie arbeiten perfekt, aber ich habe Probleme in Zusammenhang folgende, immer diese Fehlermeldung:SMOF-Übergang zum Redux-Framework

Parse error: syntax error, unexpected 'foreach' (T_FOREACH), expecting ')'

Der alte Code wurde verwendet, um eine eingebauten Übersetzer Option erstellen "type" => "text" verwenden, und hat funktioniert super aber nein ich weiß nicht wie ich es in das neue Redux Framework implementieren soll und diesen Fehler nicht mehr auftreten.

Hier ist der alte Code aus dem SMOF Framework:

$translate_strings = theme_get_translate_options(); 

foreach ($translate_strings as $string_key => $string) { 

    $of_options[] = array("name" => esc_html($string['string_text']), 
     "id" => 'td_'.$string_key, 
     "type" => "text", 
     ); 
} 

Und hier ist die neue Schnittstelle von Redux Framework. wo sollen den alten Code implementieren, mit: "type" => "text",:

$translate_strings = theme_get_translate_options(); 

// -> START Translation Info Fields 
Redux::setSection($opt_name, array(
    'title'  => __('Translator', 'redux-framework-demo'), 
    'desc'  => __('', 'redux-framework-demo'), 
    'id'   => 'translator-info-subsection', 
    'subsection' => true, 
    'fields'  => array(

     array(
      'id'  => '', 
      'type'  => 'text', 
      'title' => __('', 'redux-framework-demo'), 
      'desc'  => __('', 'redux-framework-demo'), 
      ), 

     ) 
    )); 

Der Code, den ich verwendet, und macht die Fehler auftritt, wird die folgende:

$translate_strings = theme_get_translate_options(); 

Redux::setSection($opt_name, array(
    'title'  => __('Translator', 'redux-framework-demo'), 
    'desc'  => __('', 'redux-framework-demo'), 
    'id'   => 'translator-info-subsection', 
    'subsection' => true, 
    'fields'  => array(

     foreach ($translate_strings as $string_key => $string) { 
      array(
       'id'  => 'td_'.$string_key, 
       'type'  => 'text', 
       'title' => __('', 'redux-framework-demo'), 
       ), 
     } 

     ) 
    )); 

ich auf diese vollständig bin stecken und jede Hilfe oder Anregung wird sehr geschätzt.

Vielen Dank!

+0

Nun, Sie können nicht eine Foreach in einem Array haben ... können Sie ein Array für $ Felder vor dem Redux :: setSection Aufruf erstellen? –

Antwort

0

Eine kleine Reorganisation sollte genug sein:

$translate_strings = theme_get_translate_options(); 
$myFields = array(); 

     foreach ($translate_strings as $string_key => $string) { 
      $myFields[]= 
      array(
       'id'  => 'td_'.$string_key, 
       'type'  => 'text', 
       'title' => __('', 'redux-framework-demo'), 
       ); 
     } 
Redux::setSection($opt_name, array(
    'title'  => __('Translator', 'redux-framework-demo'), 
    'desc'  => __('', 'redux-framework-demo'), 
    'id'   => 'translator-info-subsection', 
    'subsection' => true, 
    'fields'  => $myFields 
    )); 

ich Ihre foreach von der Initialisierung nahm und initialisiert die array getrennt.

+0

Danke @LajosArpad! Ihr Code macht Sinn, aber ich bekomme einen 'Parse-Fehler: Syntaxfehler, unerwartet ','' auf dem letzten Komma nach Klammern: ''title' => __ ('', 'redux-framework-demo'), ), } 'Was kann falsch sein? Können Sie Ihren Code bearbeiten? Vielen Dank! –

+0

@AlexandruAndreiCostache, multumesc, um das herauszubekommen, habe ich fälschlicherweise am Ende der Aufgabe das Komma verlassen, stattdessen wird ein Semikolon benötigt. Mersi pentru intelegere. –

+1

@Arpad brilliant! Funktioniert super! Vielen Dank. Eu iti multimesc, mi-ai salvat ziua! :) –

Verwandte Themen