Использовать значение фильтра Woocommerce в качестве опции Redux Framework - PullRequest
0 голосов
/ 24 февраля 2019

Я хотел бы использовать массив, возвращаемый фильтром Woocommerce, в качестве значения в поле Redux Framework.Я понимаю, что фильтр возвращается после загрузки плагина Woocommerce.Я пытался переместить метод Redux :: setSection внутри функции фильтра, но, похоже, в этом случае метод section не вызывается.Есть предложения?

$statuses;
    add_filter( 'wc_order_statuses', 'custom_wc_order_statuses' );
function custom_wc_order_statuses( $order_statuses ) {


$statuses = $order_statuses;

    return $order_statuses;
}



/*Need to pass $statuses to the Redux::setSection*/

Redux::setSection( $opt_name, array(
    'title'      => __( 'Text Options', 'redux-framework-demo' ),
    'desc'       => __( 'For full documentation on this field, visit: ', 'redux-framework-demo' ) . '<a href="http://docs.reduxframework.com/core/fields/text/" target="_blank">http://docs.reduxframework.com/core/fields/text/</a>',
    'id'         => 'opt-text-subsection',
    'icon'  => 'el el-home',
    'subsection' => false,
    'fields'     => array(


        array(
            'id'=>'multi-text',
            'type' => 'multi_text',
            'title' => __('Multi Text Option - Color Validated', 'redux-framework-demo'),
            'validate' => 'color',
            'subtitle' => __('If you enter an invalid color it will be removed. Try using the text "blue" as a color.  ;)', 'redux-framework-demo'),
            'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo')
        ),
        array(
            'id'       => 'opt-select',
            'type'     => 'select',
            'title'    => __('Select Option', 'redux-framework-demo'), 
            'subtitle' => __('No validation can be done on this field type', 'redux-framework-demo'),
            'desc'     => __('This is the description field, again good for additional info.', 'redux-framework-demo'),
            // Must provide key => value pairs for select options
            'options'  => $statuses,
            'default'  => '2',
        )
    )
) );

1 Ответ

0 голосов
/ 09 марта 2019

Используйте поле данных Redux.Вы можете сделать пользовательский обратный вызов, и данные всегда будут актуальными.

https://docs.redux.io/configuration/argument-data.html#using-a-custom-callback

Также, если вам нужно обновить опцию за пределами Redux (скажем, обновление WooCommerce дляэто значение) вы можете установить его следующим образом: https://docs.redux.io/guides/advanced-updating-an-option-manually.html

...