Я использую последний плагин 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. ВЫХОД: