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’ huh?' ), $this->_version ); | |
107 | } | |
108 | ||
109 | public function __wakeup () { | |
110 | _doing_it_wrong( __FUNCTION__, __( 'Cheatin’ 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 | } |