PluginProbe
QuadMenu – Mega Menu / trunk
QuadMenu – Mega Menu vtrunk
3.3.7 3.3.6 trunk 1.8.4 1.8.5 1.8.7 1.8.8 1.8.9 1.9.0 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 All 87 releases
quadmenu / lib / frontend / class-frontend.php

class-frontend.php in QuadMenu – Mega Menu trunk, at lib/frontend/class-frontend.php

142 lines 4.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 namespace QuadLayers\QuadMenu\Frontend;
3
4 if ( ! defined( 'ABSPATH' ) ) {
5 die( '-1' );
6 }
7
8 use QuadLayers\QuadMenu\Plugin;
9
10 /**
11 * Frontend Class ex QuadMenu_Frontend
12 */
13 class Frontend {
14
15 public static $instance;
16
17 public function __construct() {
18
19 add_action( 'wp_enqueue_scripts', array( $this, 'register' ) );
20
21 add_action( 'wp_enqueue_scripts', array( $this, 'enqueue' ) );
22
23 add_action( 'wp_head', array( $this, 'meta' ) );
24
25 add_action( 'wp_head', array( $this, 'css' ) );
26 }
27
28 public function register() {
29
30 wp_register_style( 'owlcarousel', QUADMENU_PLUGIN_URL . 'assets/frontend/owlcarousel/owl.carousel.min.css', array(), QUADMENU_PLUGIN_VERSION, 'all' );
31 wp_register_script( 'owlcarousel', QUADMENU_PLUGIN_URL . 'assets/frontend/owlcarousel/owl.carousel.min.js', array( 'jquery' ), QUADMENU_PLUGIN_VERSION, true );
32
33 wp_register_style( 'pscrollbar', QUADMENU_PLUGIN_URL . 'assets/frontend/pscrollbar/perfect-scrollbar.min.css', array(), QUADMENU_PLUGIN_VERSION, 'all' );
34 wp_register_script( 'pscrollbar', QUADMENU_PLUGIN_URL . 'assets/frontend/pscrollbar/perfect-scrollbar.jquery.min.js', array( 'jquery' ), QUADMENU_PLUGIN_VERSION, true );
35
36 wp_register_style( 'quadmenu-normalize', QUADMENU_PLUGIN_URL . 'assets/frontend/css/quadmenu-normalize' . Plugin::isMin() . '.css', array(), QUADMENU_PLUGIN_VERSION, 'all' );
37
38 $frontend = include QUADMENU_PLUGIN_DIR . 'build/frontend/index.asset.php';
39
40 wp_register_script( 'quadmenu', QUADMENU_PLUGIN_URL . 'build/frontend/index.js', $frontend['dependencies'], $frontend['version'], true );
41
42 wp_register_style( 'quadmenu', QUADMENU_PLUGIN_URL . 'build/frontend/style.css', array(), QUADMENU_PLUGIN_VERSION, 'all' );
43
44 if ( is_file( QUADMENU_UPLOAD_DIR . 'quadmenu-locations.css' ) ) {
45 wp_register_style( 'quadmenu-locations', QUADMENU_UPLOAD_URL . 'quadmenu-locations.css', array(), filemtime( QUADMENU_UPLOAD_DIR . 'quadmenu-locations.css' ), 'all' );
46 } else {
47 wp_register_style( 'quadmenu-locations', QUADMENU_PLUGIN_URL . 'assets/frontend/css/quadmenu-locations.css', array(), QUADMENU_PLUGIN_VERSION, 'all' );
48 }
49
50 if ( is_file( QUADMENU_UPLOAD_DIR . 'quadmenu-widgets.css' ) ) {
51 wp_register_style( 'quadmenu-widgets', QUADMENU_UPLOAD_URL . 'quadmenu-widgets.css', array(), filemtime( QUADMENU_UPLOAD_DIR . 'quadmenu-widgets.css' ), 'all' );
52 } else {
53 wp_register_style( 'quadmenu-widgets', QUADMENU_PLUGIN_URL . 'assets/frontend/css/quadmenu-widgets.css', array(), QUADMENU_PLUGIN_VERSION, 'all' );
54 }
55 }
56
57 public function enqueue() {
58
59 global $quadmenu;
60
61 if ( empty( $quadmenu['styles'] ) ) {
62 return;
63 }
64
65 if ( $quadmenu['styles_pscrollbar'] ) {
66 wp_enqueue_script( 'pscrollbar' );
67 wp_enqueue_style( 'pscrollbar' );
68 }
69
70 if ( $quadmenu['styles_owlcarousel'] ) {
71 wp_enqueue_script( 'owlcarousel' );
72 wp_enqueue_style( 'owlcarousel' );
73 }
74
75 if ( ! empty( $quadmenu['styles_normalize'] ) ) {
76 wp_enqueue_style( 'quadmenu-normalize' );
77 }
78
79 if ( ! empty( $quadmenu['styles_widgets'] ) ) {
80 wp_enqueue_style( 'quadmenu-widgets' );
81 }
82
83 wp_enqueue_style( 'quadmenu' );
84
85 wp_enqueue_style( 'quadmenu-locations' );
86
87 wp_enqueue_style( _QuadMenu()->selected_icons()->ID );
88
89 wp_enqueue_script( 'quadmenu' );
90
91 /*
92 wp_localize_script('quadmenu', 'quadmenu', apply_filters('quadmenu_global_js_data', array(
93 'login-nonce' => wp_create_nonce('quadmenu-login'),
94 'gutter' => $quadmenu['gutter'],
95 )));
96 */
97 wp_localize_script(
98 'quadmenu',
99 'quadmenu',
100 array(
101 'ajaxurl' => admin_url( 'admin-ajax.php' ),
102 'gutter' => $quadmenu['gutter'],
103 )
104 );
105 }
106
107 public function meta() {
108 global $quadmenu;
109
110 if ( empty( $quadmenu['viewport'] ) ) {
111 return;
112 }
113 ?>
114
115 <meta name="viewport" content="width=device-width, initial-scale=1.0">
116
117 <?php
118 }
119
120 public function css() {
121
122 global $quadmenu;
123
124 if ( empty( $quadmenu['css'] ) ) {
125 return;
126 }
127 ?>
128 <style>
129 <?php echo $quadmenu['css']; ?>
130 </style>
131 <?php
132 }
133
134 public static function instance() {
135 if ( ! isset( self::$instance ) ) {
136 self::$instance = new self();
137 }
138 return self::$instance;
139 }
140 }
141
142