PluginProbe
Kit (formerly ConvertKit) – Email Newsletter, Email Marketing, Membership, Subscribers and Landing Pages / 2.0.8
Kit (formerly ConvertKit) – Email Newsletter, Email Marketing, Membership, Subscribers and Landing Pages v2.0.8
3.4.1 3.4.0 3.3.9 3.3.8 3.3.7 3.3.6 3.3.5 3.3.4 3.3.3 3.3.2 3.3.1 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.2.7 2.2.8 2.2.9 2.3.0 2.3.1 2.3.2 2.3.3 All 194 releases
convertkit / includes / functions.php

functions.php in Kit (formerly ConvertKit) – Email Newsletter, Email Marketing, Membership, Subscribers and Landing Pages 2.0.8, at includes/functions.php

259 lines 5.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * ConvertKit general plugin functions.
4 *
5 * @package ConvertKit
6 * @author ConvertKit
7 */
8
9 /**
10 * Runs the activation and update routines when the plugin is activated.
11 *
12 * @since 1.9.7.4
13 *
14 * @param bool $network_wide Is network wide activation.
15 */
16 function convertkit_plugin_activate( $network_wide ) {
17
18 // Initialise Plugin.
19 $convertkit = WP_ConvertKit();
20
21 // Check if we are on a multisite install, activating network wide, or a single install.
22 if ( ! is_multisite() || ! $network_wide ) {
23 // Single Site activation.
24 $convertkit->get_class( 'setup' )->activate();
25
26 // Set a transient for 30 seconds to redirect to the setup screen on activation.
27 set_transient( 'convertkit-setup', true, 30 );
28 } else {
29 // Multisite network wide activation.
30 $sites = get_sites(
31 array(
32 'number' => 0,
33 )
34 );
35 foreach ( $sites as $site ) {
36 switch_to_blog( (int) $site->blog_id );
37 $convertkit->get_class( 'setup' )->activate();
38 restore_current_blog();
39 }
40 }
41
42 }
43
44 /**
45 * Runs the activation and update routines when the plugin is activated
46 * on a WordPress multisite setup.
47 *
48 * @since 1.9.7.4
49 *
50 * @param WP_Site|int $site_or_blog_id WP_Site or Blog ID.
51 */
52 function convertkit_plugin_activate_new_site( $site_or_blog_id ) {
53
54 // Check if $site_or_blog_id is a WP_Site or a blog ID.
55 if ( is_a( $site_or_blog_id, 'WP_Site' ) ) {
56 $site_or_blog_id = $site_or_blog_id->blog_id;
57 }
58
59 // Initialise Plugin.
60 $convertkit = WP_ConvertKit();
61
62 // Run installation routine.
63 switch_to_blog( $site_or_blog_id );
64 $convertkit->get_class( 'setup' )->activate();
65 restore_current_blog();
66
67 }
68
69 /**
70 * Runs the deactivation routine when the plugin is deactivated.
71 *
72 * @since 1.9.7.4
73 *
74 * @param bool $network_wide Is network wide deactivation.
75 */
76 function convertkit_plugin_deactivate( $network_wide ) {
77
78 // Initialise Plugin.
79 $convertkit = WP_ConvertKit();
80
81 // Check if we are on a multisite install, activating network wide, or a single install.
82 if ( ! is_multisite() || ! $network_wide ) {
83 // Single Site activation.
84 $convertkit->get_class( 'setup' )->deactivate();
85 } else {
86 // Multisite network wide activation.
87 $sites = get_sites(
88 array(
89 'number' => 0,
90 )
91 );
92 foreach ( $sites as $site ) {
93 switch_to_blog( (int) $site->blog_id );
94 $convertkit->get_class( 'setup' )->deactivate();
95 restore_current_blog();
96 }
97 }
98
99 }
100
101 /**
102 * Helper method to get supported Post Types.
103 *
104 * @since 1.9.6
105 *
106 * @return array Post Types
107 */
108 function convertkit_get_supported_post_types() {
109
110 $post_types = array(
111 'page',
112 'post',
113 );
114
115 /**
116 * Defines the Post Types that support ConvertKit Forms.
117 *
118 * @since 1.9.6
119 *
120 * @param array $post_types Post Types
121 */
122 $post_types = apply_filters( 'convertkit_get_supported_post_types', $post_types );
123
124 return $post_types;
125
126 }
127
128 /**
129 * Helper method to get registered Shortcodes.
130 *
131 * @since 1.9.6.5
132 *
133 * @return array Shortcodes
134 */
135 function convertkit_get_shortcodes() {
136
137 $shortcodes = array();
138
139 /**
140 * Registers shortcodes for the ConvertKit Plugin.
141 *
142 * @since 1.9.6.5
143 *
144 * @param array $shortcodes Shortcodes
145 */
146 $shortcodes = apply_filters( 'convertkit_shortcodes', $shortcodes );
147
148 return $shortcodes;
149
150 }
151
152 /**
153 * Helper method to get registered Blocks.
154 *
155 * @since 1.9.6
156 *
157 * @return array Blocks
158 */
159 function convertkit_get_blocks() {
160
161 $blocks = array();
162
163 /**
164 * Registers blocks for the ConvertKit Plugin.
165 *
166 * @since 1.9.6
167 *
168 * @param array $blocks Blocks
169 */
170 $blocks = apply_filters( 'convertkit_blocks', $blocks );
171
172 return $blocks;
173
174 }
175
176 /**
177 * Helper method to return the Plugin Settings Link
178 *
179 * @since 1.9.6
180 *
181 * @param array $query_args Optional Query Args.
182 * @return string Settings Link
183 */
184 function convertkit_get_settings_link( $query_args = array() ) {
185
186 $query_args = array_merge(
187 $query_args,
188 array(
189 'page' => '_wp_convertkit_settings',
190 )
191 );
192
193 return add_query_arg( $query_args, admin_url( 'options-general.php' ) );
194
195 }
196
197 /**
198 * Helper method to return the URL the user needs to visit to register a ConvertKit account.
199 *
200 * @since 1.9.8.4
201 *
202 * @return string ConvertKit Registration URL.
203 */
204 function convertkit_get_registration_url() {
205
206 return 'https://app.convertkit.com/users/signup?utm_source=wordpress&utm_content=convertkit';
207
208 }
209
210 /**
211 * Helper method to return the URL the user needs to visit to sign in to their ConvertKit account.
212 *
213 * @since 1.9.6.1
214 *
215 * @return string ConvertKit Login URL.
216 */
217 function convertkit_get_sign_in_url() {
218
219 return 'https://app.convertkit.com/?utm_source=wordpress&utm_content=convertkit';
220
221 }
222
223 /**
224 * Helper method to return the URL the user needs to visit on the ConvertKit app to obtain their API Key and Secret.
225 *
226 * @since 1.9.6.1
227 *
228 * @return string ConvertKit App URL.
229 */
230 function convertkit_get_api_key_url() {
231
232 return 'https://app.convertkit.com/account_settings/advanced_settings/?utm_source=wordpress&utm_content=convertkit';
233
234 }
235
236 /**
237 * Helper method to enqueue Select2 scripts for use within the ConvertKit Plugin.
238 *
239 * @since 1.9.6.4
240 */
241 function convertkit_select2_enqueue_scripts() {
242
243 wp_enqueue_script( 'convertkit-select2', 'https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js', array( 'jquery' ), CONVERTKIT_PLUGIN_VERSION, false );
244 wp_enqueue_script( 'convertkit-admin-select2', CONVERTKIT_PLUGIN_URL . 'resources/backend/js/select2.js', array( 'convertkit-select2' ), CONVERTKIT_PLUGIN_VERSION, false );
245
246 }
247
248 /**
249 * Helper method to enqueue Select2 stylesheets for use within the ConvertKit Plugin.
250 *
251 * @since 1.9.6.4
252 */
253 function convertkit_select2_enqueue_styles() {
254
255 wp_enqueue_style( 'convertkit-select2', 'https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css', array(), CONVERTKIT_PLUGIN_VERSION );
256 wp_enqueue_style( 'convertkit-admin-select2', CONVERTKIT_PLUGIN_URL . 'resources/backend/css/select2.css', array(), CONVERTKIT_PLUGIN_VERSION );
257
258 }
259