PluginProbe
GamiPress – Gamification plugin to reward points, badges & ranks in WordPress, now with AI / 8.0.3
GamiPress – Gamification plugin to reward points, badges & ranks in WordPress, now with AI v8.0.3
8.0.4 8.0.3 8.0.1 8.0.2 8.0.0 7.9.9.7 7.9.9.6 7.9.9.5 7.9.9.4 7.9.9.3 7.9.9.2 7.9.9.1 7.9.9 7.9.8 7.9.7 7.9.6 7.9.5 7.9.4 7.9.3 7.9.2 7.9.1 7.9.0 7.8.9 7.8.8 7.8.7 All 46 releases
gamipress / integrations / wishlist-member / wishlist-member.php

wishlist-member.php in GamiPress – Gamification plugin to reward points, badges & ranks in WordPress, now with AI 8.0.3, at integrations/wishlist-member/wishlist-member.php

141 lines 4.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Plugin Name: GamiPress - WishList Member integration
4 * Plugin URI: https://wordpress.org/plugins/gamipress-wishlist-member-integration/
5 * Description: Connect GamiPress with WishList Member.
6 * Version: 1.0.2
7 * Author: GamiPress
8 * Author URI: https://gamipress.com/
9 * Text Domain: gamipress-wishlist-member-integration
10 * Domain Path: /languages/
11 * Requires at least: 4.4
12 * Tested up to: 6.0
13 * License: GNU AGPL v3.0 (http://www.gnu.org/licenses/agpl.txt)
14 *
15 * @package GamiPress\WishList_Member
16 * @author GamiPress
17 * @copyright Copyright (c) GamiPress
18 */
19
20 final class GamiPress_Integration_WishList_Member {
21
22 /**
23 * @var GamiPress_Integration_WishList_Member $instance The one true GamiPress_Integration_WishList_Member
24 * @since 1.0.0
25 */
26 private static $instance;
27
28 /**
29 * Get active instance
30 *
31 * @access public
32 * @since 1.0.0
33 * @return GamiPress_Integration_WishList_Member self::$instance The one true GamiPress_Integration_WishList_Member
34 */
35 public static function instance() {
36
37 if( !self::$instance ) {
38 self::$instance = new GamiPress_Integration_WishList_Member();
39 self::$instance->constants();
40 self::$instance->includes();
41 self::$instance->hooks();
42
43 }
44
45 return self::$instance;
46 }
47
48 /**
49 * Setup plugin constants
50 *
51 * @access private
52 * @since 1.0.0
53 * @return void
54 */
55 private function constants() {
56 // Plugin version
57 define( 'GAMIPRESS_WISHLIST_MEMBER_VER', '1.0.2' );
58
59 // Plugin path
60 define( 'GAMIPRESS_WISHLIST_MEMBER_DIR', plugin_dir_path( __FILE__ ) );
61
62 // Plugin URL
63 define( 'GAMIPRESS_WISHLIST_MEMBER_URL', plugin_dir_url( __FILE__ ) );
64 }
65
66 /**
67 * Include plugin files
68 *
69 * @access private
70 * @since 1.0.0
71 * @return void
72 */
73 private function includes() {
74
75 if( $this->meets_requirements() ) {
76
77 require_once GAMIPRESS_WISHLIST_MEMBER_DIR . 'includes/admin.php';
78 require_once GAMIPRESS_WISHLIST_MEMBER_DIR . 'includes/listeners.php';
79 require_once GAMIPRESS_WISHLIST_MEMBER_DIR . 'includes/requirements.php';
80 require_once GAMIPRESS_WISHLIST_MEMBER_DIR . 'includes/rules-engine.php';
81 require_once GAMIPRESS_WISHLIST_MEMBER_DIR . 'includes/scripts.php';
82 require_once GAMIPRESS_WISHLIST_MEMBER_DIR . 'includes/triggers.php';
83
84 }
85 }
86
87 /**
88 * Setup plugin hooks
89 *
90 * @access private
91 * @since 1.0.0
92 * @return void
93 */
94 private function hooks() {
95
96 }
97
98 /**
99 * Check if there are all plugin requirements
100 *
101 * @since 1.0.0
102 *
103 * @return bool True if installation meets all requirements
104 */
105 private function meets_requirements() {
106
107 if ( ! class_exists( 'GamiPress' ) ) {
108 return false;
109 }
110
111 // Requirements on multisite install
112 if( is_multisite() && is_main_site() && function_exists('gamipress_is_network_wide_active') && gamipress_is_network_wide_active() ) {
113
114 // On main site, need to check if integrated plugin is installed on any sub site to load all configuration files
115 if( gamipress_is_plugin_active_on_network( 'wishlist-member/wpm.php' ) ) {
116 return true;
117 }
118
119 }
120
121 if ( ! class_exists( 'WishListMember3' ) ) {
122 return false;
123 }
124
125 return true;
126
127 }
128
129 }
130
131 /**
132 * The main function responsible for returning the one true GamiPress_Integration_WishList_Member instance to functions everywhere
133 *
134 * @since 1.0.0
135 * @return \GamiPress_Integration_WishList_Member The one true GamiPress_Integration_WishList_Member
136 */
137 function GamiPress_Integration_WishList_Member() {
138 return GamiPress_Integration_WishList_Member::instance();
139 }
140 add_action( 'gamipress_pre_init', 'GamiPress_Integration_WishList_Member' );
141