/** * valid sidebar name */ public function _hw_awc_init() { HW_AWC::getInstance(); //initial HW_AWC object global $wp_registered_sidebars; //auto fix invalid sidebar name foreach ($wp_registered_sidebars as $name => $param) { $new_sidebar = $name; //save sidebar id /** * valid sidebar */ $wp_registered_sidebars[$name]['name'] .= '(ID:' . $param['id'] . ')'; if (!HW_AWC_Sidebar_Settings::check_valid_sidebar_name($name)) { $wp_registered_sidebars[$name]['old_id'] = $wp_registered_sidebars[$name]['id']; //save old sidebar id $wp_registered_sidebars[$name]['description'] = "Thông báo: Bạn không thể sử dùng Sidebar này do bị lỗi ID quy định bởi hoangweb. Tên sidebar không chứa ký tự đặc biệt và hơn một -, được thay bằng ký tự _"; } if (HW_AWC_Sidebar_Settings::get_sidebar_setting('autofix_sidebar_name', $name) && !HW_AWC_Sidebar_Settings::check_valid_sidebar_name($name)) { $new_sidebar = HW_AWC_Sidebar_Settings::valid_sidebar_name($name); //register new sidebar directly instead of using function register_sidebar $wp_registered_sidebars[$new_sidebar] = $param; //new sidebar name $wp_registered_sidebars[$new_sidebar]['id'] = $new_sidebar; //assign new sidebar id $wp_registered_sidebars[$new_sidebar]['old_id'] = $param['id']; //or $name $wp_registered_sidebars[$new_sidebar]['name'] .= '(đã sửa)'; $wp_registered_sidebars[$new_sidebar]['description'] .= PHP_EOL . "\n'id sidebar này tạo bởi hàm register_sidebar không hợp lệ, do vậy sidebar này có tên ID mới là: ({$new_sidebar})'"; //unset($wp_registered_sidebars[$name]); //don't remove invalid sidebar because wp theme will still use it } /** * apply skin for all widgets in the sidebar */ if (HW_AWC_Sidebar_Settings::get_sidebar_setting('enable_override_sidebar', $name)) { //because still save settings for old sidebar name $skin_data = HW_AWC_Sidebar_Settings::get_sidebar_setting('skin_default', $name); if (isset($skin_data['hash_skin'])) { $hash_skin = $skin_data['hash_skin']; } if (isset($skin_data['hwskin_config'])) { $skin_config = $skin_data['hwskin_config']; } if (isset($skin_config) && $skin_config && isset($hash_skin) && class_exists('HW_SKIN')) { $skin = HW_SKIN::resume_skin($skin_config); //resume HW_SKIN with given config if ($skin) { $file = $skin->get_skin_file($hash_skin); } if (isset($file) && file_exists($file)) { $theme = array(); //valid $css_str = ''; //get colors from parent $color_title = HW_AWC_Sidebar_Settings::get_sidebar_setting('bgcolor_title', $name); $color_box = HW_AWC_Sidebar_Settings::get_sidebar_setting('bgcolor_box', $name); $img_title = HW_AWC_Sidebar_Settings::get_sidebar_setting('bgimg_title', $name); $img_box = HW_AWC_Sidebar_Settings::get_sidebar_setting('bgimg_box', $name); $hwawc = HW_AWC::getInstance(); include_once $file; $wp_registered_sidebars[$new_sidebar]['skin'] = $skin; //reference skin object //override sidebar param if (isset($theme['params']) && is_array($theme['params'])) { $wp_registered_sidebars[$new_sidebar] = array_merge($wp_registered_sidebars[$new_sidebar], $theme['params']); } //enqueue css & js -> depricated /*if(!isset($theme['styles'])) $theme['styles'] = array(); if(!isset($theme['scripts'])) $theme['scripts'] = array(); if(count($theme['styles']) || count($theme['scripts'])) { $skin->enqueue_files_from_skin($theme['styles'], $theme['scripts']); }*/ //add inline content to footer if (isset($theme['css_title_selector'])) { if ($color_title) { $css_str .= $theme['css_title_selector'] . '{background-color:' . $color_title . ' !important;}'; } if ($img_title) { $css_str .= $theme['css_title_selector'] . '{background-image:url(' . $img_title . ') !important;}'; } } if (isset($theme['css_content_selector'])) { if ($color_box) { $css_str .= $theme['css_content_selector'] . '{background-color:' . $color_box . ' !important;}'; } if ($img_box) { $css_str .= $theme['css_content_selector'] . '{background-image:url(' . $img_box . ') !important;}'; } } $hwawc->add_inlineCSS($css_str, $hash_skin); } } } } }
/** * manage widgets setting */ //include_once ('includes/widget-features/autoload.php'); include_once 'includes/widget-features/widget-features.php'; /** * sidebar widgets settings */ include_once 'includes/hw-sidebar-widgets-settings.php'; /** * load sidebar params */ include_once 'includes/awc-sidebar-settings.php'; /** * dynamic sidebars */ include_once 'includes/awc-dynamic-sidebars.php'; /** * frontend */ include_once 'includes/hw-awc-frontend.php'; /*include_once('APF_Widget.php'); new APF_Widget( __( 'Admin Page Framework', 'admin-page-framework-demo' ) ); // the widget title */ /** * enable HTML in widget title: */ remove_filter('widget_title', 'esc_html'); //if(is_admin()) HW_AWC::getInstance();