SMOF 过渡到 Redux 框架

SMOF transition to the Redux Framework

我尝试将 WordPress 主题选项从 SMOF 转移到 Redux 框架,因为 SMOF 不再维护。我已经成功转移了所有其他选项并且它们运行良好但我在以下上下文中遇到问题,收到此错误:

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 Framework的新界面。应该在哪里使用实现旧代码:"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' ),
                ),
        }

        )
    ) );

我完全坚持这一点,任何帮助或建议将不胜感激。

谢谢!

稍微重组就足够了:

$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