Настройки администратора не работают в Woocommerce WordPress? - PullRequest
1 голос
/ 10 апреля 2020

Я использую последний плагин Woocommerce версии 4.0.1 и создаю плагин, который добавляет функциональность к плагину Woocommerce в WordPress. Пример использования функции остановки проверки день в неделю.

код

// Check to make sure WooCommerce is active
if ( in_array( 'woocommerce/woocommerce.php', apply_filters('active_plugins', get_option('active_plugins')))) {
   // only run if there's no other class with this name
    if ( ! class_exists('WC_Opening_Hours')){
        class WC_Opening_Hours{
            public function __construct(){
                add_filter('woocommerce_settings_tabs_array', array( $this, 'add_settings_tab'), 50);
                add_action('woocommerce_settings_opening_hours', array( $this, 'add_settings'), 10);
            }

        // add a settings tab
        public function add_settings_tab($settings_tabs){
            $settings_tabs['opening_hours'] = __('Opening Hours', 'woocommerce-opening-hours');
            return $settings_tabs;
        }

        // add settings
        public function add_settings(){
            woocommerce_admin_fields( self::get_settings() );
        }

        // get settings
        public function get_settings(){
            $settings = array(
                'section_title' => array(
                    'name'          => __( 'Opening Hours', 'woocommerce-opening-hours'),
                    'type'          => 'title',
                    'desc'          => '',
                    'id'            => 'wc_settings_opening_hours_section_title'
                ),
                'closed_saturdays' => array(
                    'name'          => __( 'Closed on Saturdays', 'woocommerce-opening-hours'),
                    'type'          => 'checkbox',
                    'desc'          => __('Disable the checkout on Saturdays', 'woocommerce-opening-hous'),
                    'id'            => 'wc_settings_closed_saturdays'
                ),
                'section_end' => array(
                    'type'          => 'sectionend',
                    'id'            => 'wc_settings_opening_hous_section_end'
                )
            );
            return $settings;
        }

        }
        $GLOBALS['wc_opening_hours'] = new WC_Opening_Hours();
    }
}

показывает вкладку настроек в woocommerce, но не показывает флажок, и он корректно работает в версии 3 woocommerce. ВЫХОД:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...