1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
<?php /* * FooGallery Shortcodes */
if ( ! class_exists( 'FooGallery_Shortcodes' ) ) {
class FooGallery_Shortcodes {
function __construct() { add_action( 'foogallery_load_template', array( $this, 'handle_lightbox_field' ) ); add_action( 'foogallery_loaded_template', array( $this, 'render_custom_css' ) ); add_action( 'plugins_loaded', array( $this, 'init_shortcodes' ) ); }
function init_shortcodes() { add_shortcode( foogallery_gallery_shortcode_tag(), array( $this, 'render_foogallery_shortcode' ) ); add_shortcode( 'foogallery-enqueue', array( $this, 'render_foogallery_enqueue' ) ); }
function render_foogallery_shortcode( $atts ) {
$args = wp_parse_args( $atts, array( 'id' => 0, 'gallery' => '', ) );
$args = apply_filters( 'foogallery_shortcode_atts', $args );
//create new instance of template engine $engine = new FooGallery_Template_Loader();
ob_start();
$engine->render_template( $args );
$output_string = ob_get_contents(); ob_end_clean(); return $output_string; }
function render_foogallery_enqueue() { foogallery_enqueue_core_gallery_template_script(); foogallery_enqueue_core_gallery_template_style(); wp_enqueue_script( 'masonry' ); }
/** * Handle a gallery that has a lightbox. This allows us to include any scripts or CSS that is needed for the lightbox * * @param $gallery FooGallery */ function handle_lightbox_field( $gallery ) { if ( $gallery->gallery_template_has_field_of_type( 'lightbox' ) ) { $lightbox = foogallery_gallery_template_setting( 'lightbox' );
if ( false != $lightbox ) { do_action( "foogallery_template_lightbox-{$lightbox}", $gallery ); } } }
function render_custom_css( $foogallery ) { if ( !empty( $foogallery->custom_css ) ) { echo '<style type="text/css">'; echo $foogallery->custom_css; echo '</style>'; } } } }
|