Submit
Path:
~
/
home
/
getwphos
/
public_html
/
deerguard
/
wp-content
/
plugins
/
garland-addon
/
admin
/
extension
/
mega-menu
/
File Content:
custom_menu.php
<?php class Garland_Custom_Menu { /*--------------------------------------------* * Constructor *--------------------------------------------*/ /** * Initializes the plugin by setting localization, filters, and administration functions. */ private $mega_fields; function __construct() { // load the plugin translation files add_action( 'admin_enqueue_scripts', array( $this, 'garland_menu_enqueue_scripts' ) ); // add custom menu fields to menu add_filter( 'wp_setup_nav_menu_item', array( $this, 'garland_add_custom_nav_fields' ) ); // save menu custom fields add_action( 'wp_update_nav_menu_item', array( $this, 'garland_update_custom_nav_fields'), 10, 3 ); // edit menu walker add_filter( 'wp_edit_nav_menu_walker', array( $this, 'garland_edit_walker'), 10, 2 ); } // end constructor /** * Register Megamenu stylesheets and scripts */ function garland_menu_enqueue_scripts( $hook ) { // style/scripts if ( 'nav-menus.php' == $hook ) { wp_enqueue_style( 'magnific-popup', GARLAND_ADDON_URL . 'admin/extension/mega-menu/css/magnific-popup.css', '1.1.0'); wp_enqueue_style( 'garland-megamenu', GARLAND_ADDON_URL . 'admin/extension/mega-menu/css/megamenu.css', '1.0'); wp_enqueue_style( 'themify-icons', GARLAND_ADDON_URL . 'assets/css/themify-icons.css', '1.0'); wp_enqueue_script( 'magnific-popup', GARLAND_ADDON_URL . 'admin/extension/mega-menu/js/jquery.magnific-popup.min.js' , array( 'jquery' ), '1.1.0', true ); wp_enqueue_script( 'garland-megamenu', GARLAND_ADDON_URL . 'admin/extension/mega-menu/js/megamenu.js' , array( 'jquery' ), '1.0', true ); $menu_icons = $this->garland_menu_ti_icons(); wp_localize_script( 'garland-megamenu', 'garland_object', array( 'icons' => $menu_icons ) ); do_action( 'garland_connect_fonts_css_menu_page' ); add_action( 'admin_footer', array( $this, 'admin_footer_custom' ), 10 ); } } public function admin_footer_custom(){ ?> <form id="garland-general-settings-form" class="mfp-hide white-popup-block"> <h1><?php esc_html_e( 'Garland General Menu Item Settings', 'garland-addon' ); ?></h1> <fieldset> <p class="garland-menu-icon-wrap"> <label><?php esc_html_e( 'Choose Menu Item Icon', 'garland-addon' ); ?></label> <select class="garland-menu-icons"> <option value=""><?php esc_html_e( 'None', 'garland-addon' ); ?></option> </select> </p> <p class="garland-megamenu-wrap"> <label><?php esc_html_e( 'Enable Megamenu', 'garland-addon' ); ?> <input type="checkbox" class="garland-megamenu-option"></label> </p> <p class="garland-megamenu-col-wrap"> <label><?php esc_html_e( 'Megamenu Column', 'garland-addon' ); ?></label> <select class="garland-megamenu-col"> <option value="12"><?php esc_html_e( '1/1', 'garland-addon' ); ?></option> <option value="6"><?php esc_html_e( '1/2', 'garland-addon' ); ?></option> <option value="4"><?php esc_html_e( '1/3', 'garland-addon' ); ?></option> <option value="3"><?php esc_html_e( '1/4', 'garland-addon' ); ?></option> <option value="2"><?php esc_html_e( '1/6', 'garland-addon' ); ?></option> </select> </p> <p class="garland-megamenu-widget-wrap"> <label><?php esc_html_e( 'Megamenu Item Widget', 'garland-addon' ); ?></label> <select class="garland-megamenu-widget"> <option value=""><?php esc_html_e( 'Choose Widget', 'garland-addon' ); ?></option> <?php foreach ( $GLOBALS['wp_registered_sidebars'] as $sidebar ) { ?> <option value="<?php echo ucwords( $sidebar['id'] ); ?>"> <?php echo ucwords( $sidebar['name'] ); ?> </option> <?php } ?> </select> </p> </fieldset> </form> <?php } public function garland_menu_ti_icons(){ $pattern = '/\.(ti-(?:\w+(?:-)?)+):before\s+{\s*content:\s*"(.+)";\s+}/'; $icon_css_path = GARLAND_ADDON_URL . 'assets/css/themify-icons.css'; $file = ''; $response = wp_remote_get( $icon_css_path ); if( is_array($response) ) { $file = $response['body']; // use the content } preg_match_all($pattern, $file, $str, PREG_SET_ORDER); return $str; } /** * Add custom fields to $item nav object * in order to be used in custom Walker * * @access public * @since 1.0 * @return void */ function garland_add_custom_nav_fields( $menu_item ) { $menu_item->garlandmenu = get_post_meta( $menu_item->ID, '_menu_item_garlandmenu', true ); return $menu_item; } /** * Save menu custom fields * * @access public * @since 1.0 * @return void */ function garland_update_custom_nav_fields( $menu_id, $menu_item_db_id, $args ) { // Check if element is properly sent $opt_value = isset( $_REQUEST['menu-item-garlandmenu'][$menu_item_db_id] ) ? $_REQUEST['menu-item-garlandmenu'][$menu_item_db_id] : '' ; update_post_meta( $menu_item_db_id, '_menu_item_garlandmenu', $opt_value ); } /** * Define new Walker edit * * @access public * @since 1.0 * @return void */ function garland_edit_walker($walker,$menu_id) { require_once ( GARLAND_ADDON_DIR . 'admin/extension/mega-menu/class-walker-nav-menu-edit.php' ); return 'Garland_Walker_Nav_Menu_Edit'; } } $garland_cm = new Garland_Custom_Menu();
Submit
FILE
FOLDER
Name
Size
Permission
Action
css
---
0755
js
---
0755
class-walker-nav-menu-edit.php
13682 bytes
0644
custom_menu.php
5441 bytes
0644
N4ST4R_ID | Naxtarrr