View difference between Paste ID: fBuFFp0v and Wp4Cypkx
SHOW: | | - or go back to the newest paste.
1
<?php
2
3
if ( ! defined( 'ABSPATH' ) ) exit;
4
5
class DPortfolio {
6
7
	private static $_instance = null;
8
9
	public $settings = null;
10
	public $_version;
11
	public $_token;
12
	public $file;
13
	public $dir;
14
	public $assets_dir;
15
	public $assets_url;
16
17
	public function __construct ( $file = '', $version = '1.0' ) {
18
19
		$this->_version = $version;
20
		$this->_token = 'dportfolio';
21
22
		$this->file = $file;
23
		$this->dir = dirname( $this->file );
24
		$this->assets_dir = trailingslashit( $this->dir ) . 'assets';
25
		$this->assets_url = esc_url( trailingslashit( plugins_url( '/assets/', $this->file ) ) );
26
27
		register_activation_hook( $this->file, array( $this, 'install' ) );
28
29
		add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_styles' ));
30
		add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ));
31
32
		$this->load_plugin_textdomain();
33
		add_action( 'init', array( $this, 'load_localisation' ), 0 );
34
35
	}
36
37
	public function enqueue_styles () {
38
		wp_register_style( $this->_token . '-frontend', esc_url( $this->assets_url ) . 'css/frontend.css', array(), $this->_version );
39
		wp_enqueue_style( $this->_token . '-frontend' );
40
	}
41
42
	public function enqueue_scripts () {
43
44
		wp_register_script( $this->_token . '-imagesloaded', esc_url( $this->assets_url ) . 'js/imagesloaded.pkgd.min.js', array( 'jquery' ), $this->_version, true );
45
		wp_enqueue_script( $this->_token . '-imagesloaded' );
46
47
		wp_enqueue_script('masonry');	
48
49
		wp_register_script( $this->_token . '-multipleFilterMasonry', esc_url( $this->assets_url ) . 'js/multipleFilterMasonry.js', array( 'jquery' ), $this->_version, true );
50
		wp_enqueue_script( $this->_token . '-multipleFilterMasonry' );
51
52
		wp_register_script( $this->_token . '-frontend', esc_url( $this->assets_url ) . 'js/frontend.js', array( 'jquery' ), $this->_version, true );
53
		wp_enqueue_script( $this->_token . '-frontend' );
54
55
	}
56
57
	public function load_localisation () {
58
		load_plugin_textdomain( 'dportfolio', false, dirname( plugin_basename( $this->file ) ) . '/languages/' );
59
	} 
60
61
	public function load_plugin_textdomain () {
62
63
	    $domain = 'dportfolio';
64
	    $locale = apply_filters( 'plugin_locale', get_locale(), $domain );
65
66
	    load_textdomain( $domain, WP_LANG_DIR . '/' . $domain . '/' . $domain . '-' . $locale . '.mo' );
67
	    load_plugin_textdomain( $domain, false, dirname( plugin_basename( $this->file ) ) . '/languages/' );
68
69
	}
70
71
	public function dportfolio_get_category() {
72
73
	global $post;
74
	echo "<pre>";
75
	print_r($post);
76
	echo "</pre>";
77
	$terms = get_the_terms( $post->ID, 'dportfolio_categories' );
78
	echo "<pre>";
79
	print_r($terms);
80
	echo "</pre>";
81
	$content = '';
82
83
	foreach ($terms as $term) {
84
85
		$content .= '<a href="'. $term->slug .'">'. $term->name .'</a>';
86
87
	}
88
89
	return $content;
90
91
}
92
93
	public static function instance ( $file = '', $version = '1.0.0' ) {
94
95
		if ( is_null( self::$_instance ) ) {
96
97
			self::$_instance = new self( $file, $version );
98
99
		}
100
101
		return self::$_instance;
102
103
	}
104
105
	public function __clone () {
106
		_doing_it_wrong( __FUNCTION__, __( 'Cheatin&#8217; huh?' ), $this->_version );
107
	} 
108
109
	public function __wakeup () {
110
		_doing_it_wrong( __FUNCTION__, __( 'Cheatin&#8217; huh?' ), $this->_version );
111
	}
112
113
	public function install () {
114
115
		$this->_log_version_number();
116
117
		flush_rewrite_rules();
118
119
	}
120
121
	private function _log_version_number () {
122
123
		update_option( $this->_token . '_version', $this->_version );
124
125
	}
126
127
}