PluginProbe
Responsive Menu – Create Mobile-Friendly Menu / 3.0.6
Responsive Menu – Create Mobile-Friendly Menu v3.0.6
4.7.3 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.10 4.1.11 4.1.12 4.1.2 4.1.3 4.1.4 4.1.5 4.1.6 4.1.7 4.1.8 4.1.9 4.2.0 All 90 releases
responsive-menu / src / app / Factories / FrontDisplayFactory.php

FrontDisplayFactory.php in Responsive Menu – Create Mobile-Friendly Menu 3.0.6, at src/app/Factories/FrontDisplayFactory.php

42 lines 1.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace ResponsiveMenu\Factories;
4 use ResponsiveMenu\Factories\CssFactory as CssFactory;
5 use ResponsiveMenu\Factories\JsFactory as JsFactory;
6 use ResponsiveMenu\Collections\OptionsCollection as OptionsCollection;
7
8 class FrontDisplayFactory {
9
10 public function build(OptionsCollection $options) {
11
12 $css_factory = new CssFactory;
13 $js_factory = new JsFactory;
14
15 $css = $css_factory->build($options);
16 $js = $js_factory->build($options);
17
18 add_filter('body_class', function($classes) use($options) {
19 $classes[] = 'responsive-menu-' . $options['animation_type'] . '-' . $options['menu_appear_from'];
20 return $classes;
21 });
22
23 wp_enqueue_script('jquery');
24
25 if($options['external_files'] == 'on') :
26 $data_folder_dir = plugins_url(). '/responsive-menu-data';
27 $css_file = $data_folder_dir . '/css/responsive-menu-' . get_current_blog_id() . '.css';
28 $js_file = $data_folder_dir . '/js/responsive-menu-' . get_current_blog_id() . '.js';
29 wp_enqueue_style('responsive-menu', $css_file, null, false);
30 wp_enqueue_script('responsive-menu', $js_file, ['jquery'], false, $options['scripts_in_footer'] == 'on' ? true : false);
31 else :
32 add_action('wp_head', function() use ($css) {
33 echo '<style>' . $css . '</style>';
34 }, 100);
35 add_action($options['scripts_in_footer'] == 'on' ? 'wp_footer' : 'wp_head', function() use ($js) {
36 echo '<script>' . $js . '</script>';
37 }, 100);
38 endif;
39
40 }
41 }
42