PluginProbe
Kit (formerly ConvertKit) – Email Newsletter, Email Marketing, Membership, Subscribers and Landing Pages / 2.5.1
Kit (formerly ConvertKit) – Email Newsletter, Email Marketing, Membership, Subscribers and Landing Pages v2.5.1
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
← All changes | admin/class-convertkit-admin-post.php +11 -103 3.3.82.5.1 View file →
@@ -7,10 +7,10 @@
7 7 */
8 8
9 9 /**
10 10 * Registers a metabox on Posts, Pages and public facing Custom Post Types
11 - * that do not use the block editor, saving settings when the Post is saved
12 - * in the WordPress Administration interface.
11 + * and saves its settings when the Post is saved in the WordPress Administration
12 + * interface.
13 13 *
14 14 * @package ConvertKit
15 15 * @author ConvertKit
16 16 */
@@ -22,84 +22,15 @@
22 22 * @since 1.9.6
23 23 */
24 24 public function __construct() {
25 25
26 - // Register "Add New" Kit button on Pages.
27 - add_filter( 'views_edit-page', array( $this, 'output_wp_list_table_buttons' ) );
28 -
29 26 add_action( 'post_submitbox_misc_actions', array( $this, 'output_pre_publish_actions' ) );
30 - add_action( 'add_meta_boxes', array( $this, 'add_meta_boxes' ), 10, 2 );
27 + add_action( 'add_meta_boxes', array( $this, 'add_meta_boxes' ) );
31 28 add_action( 'save_post', array( $this, 'save_post_meta' ) );
32 29
33 30 }
34 31
35 32 /**
36 - * Registers 'Add New' buttons for the given Post Type's admin screen.
37 - *
38 - * If no options are registered, no button is displayed.
39 - *
40 - * JS will move this button to be displayed next to the "Add New" button when viewing the table of Pages or Posts,
41 - * as there is not a native WordPress action/filter for registering buttons next to the "Add New" button.
42 - *
43 - * @since 2.5.5
44 - *
45 - * @param array $views Views.
46 - * @return array Views
47 - */
48 - public function output_wp_list_table_buttons( $views ) {
49 -
50 - // Get current post type that we're viewing.
51 - $post_type = $this->get_current_post_type();
52 -
53 - // Don't output any buttons if we couldn't determine the current post type.
54 - if ( ! $post_type ) {
55 - return $views;
56 - }
57 -
58 - // Define a blank array of buttons to be filtered.
59 - $buttons = array();
60 -
61 - /**
62 - * Registers 'Add New' buttons for the given Post Type's admin screen.
63 - *
64 - * @since 2.5.5
65 - *
66 - * @param array $buttons Buttons.
67 - * @param string $post_type Post Type.
68 - */
69 - $buttons = apply_filters( 'convertkit_admin_post_register_add_new_buttons', $buttons, $post_type );
70 -
71 - // Bail if no buttons are registered for display.
72 - if ( ! count( $buttons ) ) {
73 - return $views;
74 - }
75 -
76 - // Enqueue JS and CSS.
77 - wp_enqueue_script( 'convertkit-admin-wp-list-table-buttons', CONVERTKIT_PLUGIN_URL . 'resources/backend/js/wp-list-table-buttons.js', array( 'jquery' ), CONVERTKIT_PLUGIN_VERSION, true );
78 - wp_enqueue_style( 'convertkit-admin-wp-list-table-buttons', CONVERTKIT_PLUGIN_URL . 'resources/backend/css/wp-list-table-buttons.css', array(), CONVERTKIT_PLUGIN_VERSION );
79 -
80 - // Build buttons HTML.
81 - $html = '';
82 - foreach ( $buttons as $button_name => $button ) {
83 - $html .= sprintf(
84 - '<a href="%s">%s</a>',
85 - esc_attr( $button['url'] ),
86 - esc_html( $button['label'] )
87 - );
88 - }
89 -
90 - // Register an 'Add New' dropdown button, with buttons HTML.
91 - $views['convertkit'] = sprintf(
92 - '<span class="convertkit-action page-title-action hidden">%s<span class="convertkit-actions hidden">%s</span></span>',
93 - __( 'Add New', 'convertkit' ),
94 - $html
95 - );
96 -
97 - return $views;
98 -
99 - }
100 -
101 - /**
102 33 * Enqueue JavaScript when editing a Page, Post or Custom Post Type that outputs
103 34 * ConvertKit Plugin settings.
104 35 *
105 36 * @since 1.9.6.4
@@ -132,13 +63,10 @@
132 63
133 64 // Enqueue Post CSS.
134 65 wp_enqueue_style( 'convertkit-post', CONVERTKIT_PLUGIN_URL . 'resources/backend/css/post.css', array(), CONVERTKIT_PLUGIN_VERSION );
135 66
136 - // Enqueue Refresh Resources CSS.
137 - wp_enqueue_style( 'convertkit-admin-refresh-resources', CONVERTKIT_PLUGIN_URL . 'resources/backend/css/refresh-resources.css', array(), CONVERTKIT_PLUGIN_VERSION );
138 -
139 67 /**
140 - * Enqueue CSS for the Settings Screen at Settings > Kit
68 + * Enqueue CSS for the Settings Screen at Settings > ConvertKit
141 69 *
142 70 * @since 1.9.6.4
143 71 */
144 72 do_action( 'convertkit_admin_post_enqueue_styles' );
@@ -180,12 +108,11 @@
180 108 * Adds a meta box for the given Post Type.
181 109 *
182 110 * @since 1.9.6
183 111 *
184 - * @param string $post_type Post Type.
185 - * @param WP_Post $post Post.
112 + * @param string $post_type Post Type.
186 113 */
187 - public function add_meta_boxes( $post_type, $post ) {
114 + public function add_meta_boxes( $post_type ) {
188 115
189 116 // Don't register the meta box if this Post Type isn't supported.
190 117 $supported_post_types = convertkit_get_supported_post_types();
191 118 if ( ! in_array( $post_type, $supported_post_types, true ) ) {
@@ -191,15 +118,10 @@
191 118 if ( ! in_array( $post_type, $supported_post_types, true ) ) {
192 119 return;
193 120 }
194 121
195 - // Don't register the meta box if the block editor is being used, as register_post_meta() handles saving post meta.
196 - if ( function_exists( 'use_block_editor_for_post' ) && use_block_editor_for_post( $post ) ) {
197 - return;
198 - }
199 -
200 122 // Register Meta Box.
201 - add_meta_box( 'wp-convertkit-meta-box', __( 'Kit', 'convertkit' ), array( $this, 'display_meta_box' ), $post_type, 'normal' );
123 + add_meta_box( 'wp-convertkit-meta-box', __( 'ConvertKit', 'convertkit' ), array( $this, 'display_meta_box' ), $post_type, 'normal' );
202 124
203 125 // Enqueue JS and CSS.
204 126 add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
205 127 add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_styles' ) );
@@ -232,11 +154,10 @@
232 154 // Initialize Restrict Content Settings class.
233 155 $restrict_content_settings = new ConvertKit_Settings_Restrict_Content();
234 156
235 157 // Fetch Post Settings, Forms, Landing Pages and Tags.
236 - $convertkit_post = new ConvertKit_Post( $post->ID );
237 - $convertkit_forms = new ConvertKit_Resource_Forms();
238 -
158 + $convertkit_post = new ConvertKit_Post( $post->ID );
159 + $convertkit_forms = new ConvertKit_Resource_Forms();
239 160 $convertkit_landing_pages = new ConvertKit_Resource_Landing_Pages();
240 161 $convertkit_products = new ConvertKit_Resource_Products();
241 162 $convertkit_tags = new ConvertKit_Resource_Tags();
242 163
@@ -282,9 +203,9 @@
282 203 return;
283 204 }
284 205
285 206 // Save Post's settings.
286 - $this->save_post_settings( $post_id, wp_unslash( $_POST['wp-convertkit'] ) ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
207 + $this->save_post_settings( $post_id, $_POST['wp-convertkit'] );
287 208
288 209 }
289 210
290 211 /**
@@ -312,9 +233,9 @@
312 233 continue;
313 234 }
314 235
315 236 // Sanitize value.
316 - $new_value = sanitize_text_field( $settings[ $key ] );
237 + $new_value = sanitize_text_field( wp_unslash( $settings[ $key ] ) );
317 238
318 239 // Skip if the setting value is -2, as this means it's a Bulk Edit request and this setting
319 240 // is set as 'No Change'.
320 241 if ( $new_value == '-2' ) { // phpcs:ignore Universal.Operators.StrictComparisons.LooseEqual
@@ -334,21 +255,8 @@
334 255 // it is never displayed again.
335 256 if ( $meta['form'] || $meta['landing_page'] ) {
336 257 WP_ConvertKit()->get_class( 'review_request' )->request_review();
337 258 }
338 -
339 - }
340 -
341 - /**
342 - * Get the current post type based on the screen that is viewed.
343 - *
344 - * @since 2.5.5
345 - *
346 - * @return bool|string
347 - */
348 - private function get_current_post_type() {
349 -
350 - return convertkit_get_current_screen( 'post_type' );
351 259
352 260 }
353 261
354 262 }