/** * setup form fields */ public function setUp() { // Set the root menu $this->setRootMenuPage('Settings'); // specifies to which parent menu to add. // Add the sub menus and the pages $this->addSubMenuItems(array('title' => 'Lưu cấu hình widgets', 'page_slug' => self::PAGE_SLUG)); //define tabs $this->addInPageTabs(self::PAGE_SLUG, array('tab_slug' => 'widgets-config', 'title' => __('Cấu hình widgets'))); $this->setInPageTabTag('h2'); // sets the tag used for in-page tabs //init fields $this->addSettingFields(array('field_id' => 'list_saved_widgets_setting', 'type' => 'hw_admin_table', 'title' => '', 'show_title_column' => false, 'WP_List_Table' => 'HW_List_Table_Widgets_settings', 'columns' => array('id' => __('ID'), 'name' => __('Tên'), 'group' => __('Nhóm'), 'widget' => __('Widget'), 'description' => __('Mô tả'), 'setting' => __('Config')), 'sortable_columns' => array('id' => array('id', false), 'name' => array('name', false), 'group' => array('group', false)))); /*$this->addSettingFields( array( 'field_id' => 'test', 'type' => 'text', 'title' => 'Title 1', ) );*/ //actions if (class_exists('HW_HELP')) { $page_hook = HW_HELP::load_settings_page_hook_slug(self::PAGE_SLUG); } else { $page_hook = 'load-settings_page_' . self::PAGE_SLUG; } add_action($page_hook, array($this, '_add_options')); if (class_exists('HW_HOANGWEB') && HW_HOANGWEB::is_current_screen('hw_widgets_settings')) { add_action('admin_enqueue_scripts', array($this, '_admin_enqueue_scripts')); } }
/** * @hook init * register help for module */ function _hw_awc_init() { if (class_exists('HW_HELP')) { HW_HELP::set_helps_path('awc', HW_AWC_PATH . 'helps'); HW_HELP::register_help('awc'); HW_HELP::load_module_help('awc'); } }
/** * initial something */ public function _hw_bcn_help_init() { //reigster help for this plugin if (class_exists('HW_HELP')) { HW_HELP::set_helps_path('breadcrumb', HW_BREADCRUMB_PATH . 'helps'); HW_HELP::register_help('breadcrumb'); HW_HELP::load_module_help('breadcrumb'); } }
/** * initial something */ public function _init() { //register help for the plugin if (class_exists('HW_HELP')) { HW_HELP::set_helps_path('post_view_counter', HWPVC_PLUGIN_PATH . 'helps'); HW_HELP::set_helps_url('post_view_counter', HWPVC_PLUGIN_URL . '/helps'); HW_HELP::register_help('post_view_counter'); HW_HELP::load_module_help('post_view_counter'); } }
/** * @hook plugins_loaded */ private function add_screen_options() { HW_HOANGWEB::load_class('HW_Screen_Option'); if (class_exists('HW_HELP', false)) { $page_slug = HW_HELP::load_settings_page_hook_slug(self::PAGE_SLUG, ''); $screen = HW_Screen_Option::get_instance('hw_module_setting_page', $page_slug); #HW_Screen_Option::get('modules-manager')->get_option('xx'); $screen->add_options(array('per_page' => array('label' => 'Số lượng/trang', 'default' => '10'))); $screen->addition_text('Dành cho trang cấu hình Module Hoangweb.'); } }
/** * @wp_hook action init */ public function _hwss_init() { wp_register_script('hwss-js', HW_SOCIALSHARE_URL . '/js/main.js', array('jquery')); wp_register_script('hwss-admin-js', HW_SOCIALSHARE_URL . '/js/hwss-admin-js.js', array('jquery')); //create help if (class_exists('HW_HELP')) { HW_HELP::set_helps_path('share', HW_SOCIALSHARE_PATH . 'helps'); HW_HELP::set_helps_url('share', HW_SOCIALSHARE_URL . '/helps'); HW_HELP::register_help('share'); HW_HELP::load_module_help('share'); } }
/** * Triggered when the tab is loaded. * @param $oAdminPage */ public function replyToAddFormElements($oAdminPage = '') { //you can get feature data belong to current widget that applying $this->addFields(array('field_id' => 'list_saved_widgets_setting', 'type' => 'hw_admin_table', 'title' => '', 'show_title_column' => false, 'WP_List_Table' => 'HW_List_Table_Widgets_settings', 'columns' => array('id' => __('ID'), 'name' => __('Tên'), 'group' => __('Nhóm'), 'widget' => __('Widget'), 'description' => __('Mô tả'), 'setting' => __('Config')), 'sortable_columns' => array('id' => array('id', false), 'name' => array('name', false), 'group' => array('group', false)))); //actions if (class_exists('HW_HELP')) { $page_hook = HW_HELP::load_settings_page_hook_slug(HW_Widget_Features_Setting::PAGE_SLUG); } else { $page_hook = 'load-settings_page_' . HW_Widget_Features_Setting::PAGE_SLUG; } add_action($page_hook, array($this, '_add_options')); if (class_exists('HW_HOANGWEB') && HW_HOANGWEB::is_current_screen('hw_widgets_settings')) { add_action('admin_enqueue_scripts', array($this, 'admin_enqueue_scripts')); } }
/** * main class constructor */ function __construct() { $this->setup_actions(); //init hooks //override plugin textdomain path for yarpp plugin load_plugin_textdomain('hw-yarpp', false, HWRP_PLUGIN_PATH . '/langs'); //register help if (class_exists('HW_HELP')) { HW_HELP::set_helps_path('relatedpost', HWRP_PLUGIN_PATH . 'helps'); HW_HELP::set_helps_url('relatedpost', HWRP_PLUGIN_URL . 'helps'); HW_HELP::register_help('relatedpost'); HW_HELP::load_module_help('relatedpost'); //HW_HELP::$relatedpost; } }
/** * fields definition * @param $sections */ public function get_fields(&$sections) { //install plugins link if (is_plugin_active('multi-image-metabox')) { $install_multi_image_link = hw_install_plugin_link('multi-image-metabox', 'Cài đặt'); } else { $install_multi_image_link = ''; } //help for multi image metabox if (class_exists('HW_HELP_HOANGWEB', false)) { //$multi_image_help = HW_HELP_HOANGWEB::current()->help_static_link('multi-image-metabox.html'); $multi_image_help = HW_HELP::generate_help_popup(array('HW_HELP_HOANGWEB', 'multi-image-metabox.html'), 'Hướng dẫn.', 'Hướng dẫn Multi Image Metabox'); } else { $multi_image_help = ''; } //gallery $sections['gallery'] = array('icon' => NHP_OPTIONS_URL . 'img/glyphicons/glyphicons_001_leaf.png', 'title' => 'Gallery', 'fields' => array('enable_multi_images' => array('id' => 'enable_multi_images', 'type' => 'checkbox', 'title' => 'Kích hoạt gallery ảnh', 'desc' => 'Kích hoạt gallery ảnh cho mỗi bài viết/post type. ' . $install_multi_image_link, 'sub_desc' => $multi_image_help), 'posttype_multi_images' => array('id' => 'posttype_multi_images', 'type' => 'hw_post_type_multi_select', 'title' => 'Chọn post types cho multi-images.', 'sub_desc' => 'Chọn một hoặc nhiều post type sử dụng tính năng gallery ảnh.', 'size' => 8), 'multi_images_num' => array('id' => 'multi_images_num', 'type' => 'text', 'title' => 'Số lượng multi-images.', 'sub_desc' => 'Số lượng ảnh gallery cho phép sử dụng.', 'std' => '200'), 'divide' => array('type' => 'hw_divide', 'label' => 'Envira Gallery'), 'envira_exclude_posttypes' => array('id' => 'envira_exclude_posttypes', 'type' => 'hw_post_type_multi_select', 'title' => 'Loại bỏ post types', 'sub_desc' => 'Chọn một hoặc nhiều post type không muốn tích hợp Envira gallery.'))); }
public function get_fields(&$sections) { //effects $effects = array('0' => 'Không hiệu ứng', 'snow' => 'Tuyết rơi', 'fireworks' => 'Pháo hoa'); if (class_exists('AWC_WidgetFeature_fancybox')) { $fancybox_options = AWC_WidgetFeature_fancybox::get_options_definition(); } else { $fancybox_options = array(); } //fancybox help if (class_exists('HW_HELP')) { //$fancybox_help = HW_HELP_HOANGWEB::current()->help_static_link('fancybox.html'); $fancybox_help = HW_HELP::generate_help_popup(array('HW_HELP_HOANGWEB', 'fancybox.html'), 'Hướng dẫn', 'Hướng dẫn fancybox'); //HW_HELP::generate_help_popup(array('HW_HELP_HOANGWEB','fancybox.html'), 'Hướng dẫn'); //other approach } else { $fancybox_help = ''; } //features $sections['features'] = array('icon' => NHP_OPTIONS_URL . 'img/glyphicons/glyphicons_280_settings.png', 'title' => 'Chức năng', 'fields' => array('debug' => array('id' => 'debug', 'type' => 'checkbox', 'title' => 'Kích hoạt debug', 'desc' => 'Kích hoạt debug lỗi.'), 'scroll2top' => array('id' => 'scroll2top', 'type' => 'checkbox', 'title' => 'Kích hoạt scroll to top', 'desc' => 'Kích hoạt tính năng nút cuộn trang.'), 'scroll2top_skin' => array('id' => 'scroll2top_skin', 'type' => 'hw_skin_link', 'title' => 'Chọn giao diện nút cuộn nội dung website.', 'desc' => 'Chọn giao diện nút cuộn nội dung website.', 'external_skins_folder' => 'hw_scroll2top_skins', 'skin_filename' => 'hw-scroll2top.php', 'enable_external_callback' => false, 'skins_folder' => 'skins', 'apply_current_path' => plugin_dir_path(dirname(dirname(__FILE__))), 'plugin_url' => plugins_url('', dirname(dirname(__FILE__))), 'files_skin_folder' => 'images', 'display' => 'ddslick', 'group' => 'scroll2top'), 'nice_scrollbar' => array('id' => 'nice_scrollbar', 'type' => 'select', 'title' => 'Giao diện thanh cuộn', 'desc' => 'Chọn thanh cuộn đẹp cho website.', 'options' => array()), 'effect' => array('id' => 'effect', 'type' => 'select', 'title' => 'Hiệu ứng nền', 'desc' => 'Sử dụng hiệu ứng nền', 'options' => $effects), 'fancybox' => array('id' => 'fancybox', 'type' => 'checkbox', 'title' => 'Bật tính năng fancybox', 'desc' => 'Bật tính năng fancybox', 'sub_desc' => $fancybox_help), 'fancybox_settings' => array('id' => 'fancybox_settings', 'type' => 'hw_options', 'title' => 'Thiết lập cấu hình fancybox', 'desc' => 'Thiết lập cấu hình fancybox', 'settings' => $fancybox_options))); }
public function get_fields(&$sections) { //get all my custom metaslider if (class_exists('HWML_Slider_Settings_Metabox')) { $edit_slider_link = HWML_Slider_Settings_Metabox::get_edit_sliders_url(); $edit_hw_slider_link = HWML_Slider_Settings_Metabox::get_edit_hw_sliders_url(); $ml_slides = HWML_Slider_Settings_Metabox::get_all_mlsliders(); $hw_sliders = hwml_get_all_sliders(); //hwml_shortcode posts list } else { $edit_slider_link = admin_url('admin.php?page=hw-metaslider'); $edit_hw_slider_link = ''; $ml_slides = array(); $hw_sliders = array(); } if (class_exists('HW_HELP')) { //$gmap_help = HW_HELP_HOANGWEB::current()->help_static_link('gmap.html'); //old way $gmap_help = HW_HELP::generate_help_popup(array('HW_HELP_HOANGWEB', 'gmap.html'), 'Hướng dẫn.'); } else { $gmap_help = ''; } //general settings $sections['general'] = array('icon' => NHP_OPTIONS_URL . 'img/glyphicons/glyphicons_151_edit.png', 'title' => 'Thông tin', 'fields' => array('site_name' => array('id' => 'site_name', 'type' => 'text', 'title' => 'Tên website'), 'slogan' => array('id' => 'slogan', 'type' => 'text', 'title' => 'Khẩu hiệu'), 'admin_logo' => array('id' => 'admin_logo', 'type' => 'upload', 'title' => 'Logo', 'desc' => 'Logo hiển thị ở trang đăng nhập và trên website.', 'validate_callback' => array($this, 'validate_header_fields_cb')), 'site_banner' => array('id' => 'site_banner', 'type' => 'upload', 'title' => 'Banner', 'desc' => 'Banner hiển thị ở phần header của website.', 'validate_callback' => array($this, 'validate_header_fields_cb')), 'phone' => array('id' => 'phone', 'type' => 'text', 'title' => 'Số điện thoại', 'desc' => 'Nhập số hotline hiển thị trên web'), 'admin_email' => array('id' => 'admin_email', 'type' => 'text', 'title' => 'Email', 'desc' => 'Địa chỉ email.', 'validate' => 'email'), 'address' => array('id' => 'address', 'type' => 'text', 'title' => 'Địa chỉ bản đồ', 'desc' => 'Nhập khu vực/địa chỉ của bạn muốn xuất hiện trên bản đồ. ', 'sub_desc' => $gmap_help), 'home_slider_id' => array('id' => 'main_slider_id', 'type' => 'select', 'title' => 'Slider', 'desc' => 'Chọn slider', 'sub_desc' => 'Chọn slider chính. Thêm/sửa slider <a href="' . $edit_slider_link . '" target="_blank">tại đây</a>.', 'options' => $ml_slides), 'main_hw_slider' => array('id' => 'main_hw_slider', 'type' => 'select', 'title' => 'Hoangweb slider', 'sub_desc' => 'Chọn hoangweb slider. Thêm/sửa sliders, <a href="' . $edit_hw_slider_link . '" target="_blank">tại đây</a>', 'options' => $hw_sliders), 'testimonials' => array('id' => 'testimonials', 'type' => 'hw_ckeditor', 'title' => 'Testimonials', 'desc' => 'Lời chứng thực ở trang chủ.'), 'wp_head_script' => array('id' => 'wp_head_script', 'type' => 'textarea', 'title' => 'Chèn thêm scripts vào thẻ < head'), 'wp_footer_code' => array('id' => 'wp_footer_code', 'type' => 'textarea', 'title' => 'Chèn mã HTML, JS, CSS vào dưới chân website'))); }
function __construct() { parent::__construct(); //load parent instance }
/** * admin init * @hook init */ public function _init() { if (class_exists('HW_HELP')) { HW_HELP::set_helps_path('lct', plugin_dir_path(__FILE__) . 'helps'); HW_HELP::set_helps_url('lct', plugins_url('', __FILE__) . '/helps'); HW_HELP::register_help('lct'); HW_HELP::load_module_help('lct'); } }
/** * @hook plugins_loaded */ private function add_screen_options() { HW_HOANGWEB::load_class('HW_Screen_Option'); if (class_exists('HW_HELP', false)) { $hook_slug = HW_HELP::load_settings_page_hook_slug($this->menu, ''); } else { $hook_slug = ''; } $screen = HW_Screen_Option::get_instance('modules_manager', $hook_slug); #HW_Screen_Option::get('modules-manager')->get_option('xx'); $screen->add_options(array('per_page' => array('label' => 'Số lượng/trang', 'default' => '10'))); $screen->addition_text('Hiển thị danh sách Modules Hoangweb.'); }
/** * load form settings * @param unknown $oAdminPage */ public function load_hw_social_option($oAdminPage) { // load_{page slug} $HW_Socials_fields = hwss_option(); //get list of pages $pages = get_pages(); $list = array('__all__' => 'Tất cả', '__home__' => 'Trang Chủ'); foreach ($pages as $page) { $list[$page->post_name] = $page->post_title; } //get socials button & also order by user $socials = self::get_sort_socials_selected(); //list avaiable sharing services $services = array(); foreach (HW_SocialShare_widget::$sharing_services as $key => $item) { if (isset($item['enable']) && !$item['enable']) { continue; } $services[$key] = ucfirst($item['text']); } //default custom css $custom_css_def = ''; if (!empty($HW_Socials_fields['wrap_id'])) { $custom_css_def = '#' . $HW_Socials_fields['wrap_id'] . '{position:relative;}'; } //help popup if (class_exists('HW_HELP')) { $guide_link = 'Xem ' . HW_HELP::generate_help_popup(array('HW_HELP_SHARE', 'share.html'), 'hướng dẫn chi tiết', 'hướng dẫn tạo nút chia sẻ'); } else { $guide_link = ''; } $this->addSettingSections('hw_social_option', array('section_id' => 'my_first_section', 'title' => 'My First Form Section', 'description' => 'This section is for text fields.'), array('section_id' => 'my_second_section', 'title' => 'My Second Form Section', 'description' => 'This section is for selectors.')); $this->addSettingFields(array('field_id' => 'help', 'type' => 'title', 'description' => $guide_link), array('field_id' => 'enable_side_share_bar', 'type' => 'checkbox', 'title' => __('Kích hoạt', 'hwss'), 'description' => __('Kích hoạt thanh chia sẻ ở sườn website.', 'hwss')), array('field_id' => 'sharing_service', 'type' => 'select', 'title' => __('Chọn dịch vụ', 'hwss'), 'description' => __('Lựa chọn dịch vụ chia sẻ như addthis, sharethis,..', 'hwss'), 'label' => $services), array('field_id' => 'wrap_id', 'type' => 'text', 'title' => __('Wrap DIV selector', 'hwss'), 'description' => __('ID/class thẻ div bao khung website. Cần chỉ định giá trị này để hiển thị nút chia sẻ ở sườn website.<br/>VD: .site-inner', 'hwss'), 'default' => ''), array('field_id' => 'pages_list', 'type' => 'select', 'title' => __('Hiển thị ở trang', 'hwss'), 'description' => __('Chọn trang hiển thị.', 'hwss'), 'label' => $list, 'is_multiple' => true, 'attributes' => array('select' => array('size' => 5))), array('field_id' => 'socials_button', 'type' => 'socials_button_picker', 'title' => __('Chọn nút & xắp xếp', 'hwss'), 'description' => __('Chọn một hoặc nhiều nút mạng xã hội, bạn có thể di chuyển xắp lại thứ tự hiển thị.', 'hwss'), 'label' => $socials, 'is_multiple' => true, 'attributes' => array('select' => array('size' => 10))), array('field_id' => 'custom_css', 'type' => 'textarea', 'title' => __('Tùy biến CSS', 'hwss'), 'description' => __('Chèn thêm CSS.', 'hwss'), 'default' => '/*chèn CSS ở đây*/' . $custom_css_def), array('field_id' => 'button_size', 'type' => 'text', 'title' => 'Kích thước', 'description' => 'Kích thước co dãn. VD: 1 (small), 1.5 (medium),..', 'default' => '1'), array('field_id' => 'socials_button_hidden', 'type' => 'hidden'), array('field_id' => 'enable_standard_buttons_in_post', 'type' => 'checkbox', 'title' => __('Kích hoạt trong bài viết.', 'hwss'), 'description' => __('Kích hoạt nút socials chuẩn trong bài viết chi tiết.', 'hwss')), array('field_id' => 'submit_button', 'type' => 'submit')); }
/** * Initialise translations & something */ public function _load_plugin_data() { //textdomain load_plugin_textdomain('metaslider', false, dirname(plugin_basename(__FILE__)) . '/languages/'); if (class_exists('HW_HELP')) { HW_HELP::set_helps_path('slider', HWML_PLUGIN_PATH . 'helps'); HW_HELP::set_helps_url('slider', HWML_PLUGIN_URL . '/helps'); HW_HELP::register_help('slider'); HW_HELP::load_module_help('slider'); } }
/** * init hook */ public function _init_something() { //load plugin help if (class_exists('HW_HELP')) { HW_HELP::set_helps_path('wpcf7', HW_WPCF7_PATH . 'helps'); HW_HELP::set_helps_url('wpcf7', HW_WPCF7_URL . '/helps'); HW_HELP::register_help('wpcf7'); HW_HELP::load_module_help('wpcf7'); } }
/** * init something */ public function _init() { if (class_exists('HW_HELP')) { HW_HELP::set_helps_path('livechat', HW_LIVECHAT_PATH . 'helps'); HW_HELP::register_help('livechat'); HW_HELP::load_module_help('livechat'); } }
/** * admin menu * @hook admin_menu */ public function plugin_menu() { /*$hook = add_menu_page( 'Sitepoint WP_List_Table Example', 'SP WP_List_Table', 'manage_options', 'wp_list_table_class', array( $this, 'plugin_settings_page' ) );*/ if (!$this->page_slug && class_exists('HW_HELP')) { $this->page_slug = HW_HELP::load_current_page_hook_slug(''); } if ($this->page_slug) { add_action("load-{$this->page_slug}", array($this, '_screen_option')); } }
function _hw_navmenu_init() { if (class_exists('HW_HELP')) { HW_HELP::set_helps_path('navmenu', HW_MENU_PATH . 'helps'); HW_HELP::set_helps_url('navmenu', HW_MENU_URL . '/helps'); HW_HELP::register_help('navmenu'); HW_HELP::load_module_help('navmenu'); } }
/** * display help icon * @param $module * @param $aField */ private function generate_help_icon($module, $aField) { $module_label = isset($aField['module_info']['name']) ? $aField['module_info']['name'] : $module->module_name; $help = $aField['hw_help']; if (empty($help)) { return; } $help_file = HW_HELP::get_help_popup_file(array($help['class'], $help['file'])); $_aAttributes = $aField['attributes']; $name = $_aAttributes['name']; $id = HW_Validation::valid_apf_slug($name); $html = '<a href="#" id="' . $id . '" data-hw-module="' . $module->module_name . '" data-hw-help-file="' . urlencode(HW_Encryptor::encrypt($help_file)) . '" title="' . $module_label . '"><img src="' . plugins_url('help_icon.png', __FILE__) . '" class="module-help-icon hw-module-help"/>Trợ giúp</a>'; return $html; }
function _hwpagenavi_init() { if (class_exists('HW_HELP')) { HW_HELP::set_helps_path('pagenavi', HW_PAGENAVI_PATH . 'helps'); HW_HELP::register_help('pagenavi'); HW_HELP::load_module_help('pagenavi'); } }
/** * register help for module * @param $file * @param $name * @param $path help path * @return mixed|void */ public function register_help($name, $file = '', $path = 'help') { $name = preg_replace('#\\.php$#', '', trim($name)); //help name if ($file === '') { $file = $name . '.html'; } //default help file same as help handling file if (class_exists('HW_HELP')) { HW_HELP::set_helps_path($name, $this->module_path . '/' . ltrim($path, '\\/')); HW_HELP::set_helps_url($name, $this->get_module_file_url($path)); HW_HELP::register_help($name); $help = HW_HELP::load_module_help($name); $this->option('help_handler', array('class' => get_class($help), 'file' => $file)); if (is_object($help)) { $help->_option('module', $this); } } }
/** * @hook init * init action callback (testing) */ public function _init_something() { //show/hide advanced feature exists in admin menu $show_advanced = hw_get_setting('enable_developer_feature'); if (!$show_advanced) { //acf menu, according to http://www.advancedcustomfields.com/resources/how-to-hide-acf-menu-from-clients/ add_filter('acf/settings/show_admin', '__return_false'); } //register help for the plugin if (class_exists('HW_HELP')) { HW_HELP::set_helps_path('hoangweb', HW_HOANGWEB_PATH . 'helps'); HW_HELP::set_helps_url('hoangweb', HW_HOANGWEB_URL . '/helps'); HW_HELP::register_help('hoangweb'); HW_HELP::load_module_help('hoangweb'); } }