2016-10-31 5 views
0

SMOFはもはや維持されていないため、SMOFからRedux FrameworkへのWordPressテーマオプションの転送を試みています。私は他のすべてのオプションを正常に転送していると、彼らは完璧に動作しますが、私は、コンテキストは次の問題がある、このエラーを取得:SMOFからRedux Frameworkへの移行

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

を古いコードが"type" => "text"を使用して組み込みの翻訳オプションを作成するために使用される、とありました素晴らしいですが、私は実行する新しいReduxフレームワークでそれを実装する方法を知らず、もはやこのエラーは発生しません。

はここSMOFフレームワークからの古いコードです:

$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", 
     ); 
} 

そして、ここでReduxのフレームワークの新しいインターフェースです。 "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'), 
      ), 

     ) 
    )); 

私が使用してエラーが発生するコードは以下の通りです:

$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'), 
       ), 
     } 

     ) 
    )); 

私はこれに完全にこだわっています何か助けや助言をいただければ幸いです。

ありがとうございました!

+0

まあ、配列内にforeachを持つことはできません... Redux :: setSectionの呼び出しの前に$ fieldsの配列を作成できますか? –

答えて

0

少し再編が十分でなければなりません:

$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 
    )); 

私は初期からあなたforeachを取り出し、別途arrayを初期化します。

+0

ありがとう@LajosArpad!あなたのコードは理にかなっていますが、括弧の後の最後のカンマで ''構文エラー:予期しない構文エラーが発生します。 '' title '=> __(' '、' redux-framework-demo ')、 ) } '何が間違っているのですか?コードを編集できますか?ありがとうございました! –

+0

@AlexandruAndreiCostache、それを指摘するためのmultumesc、私は間違いなくカンマを割り当ての最後に残しましたが、代わりにセミコロンが必要です。メルシペルーインテリア。 –

+1

@Arpad brilliant!よく働く!ありがとうございました。それはマルチメーク、ミアイサルヴァトアウア! :) –

関連する問題