PluginProbe
Kit (formerly ConvertKit) – Email Newsletter, Email Marketing, Membership, Subscribers and Landing Pages / 3.4.3
Kit (formerly ConvertKit) – Email Newsletter, Email Marketing, Membership, Subscribers and Landing Pages v3.4.3
3.4.3 3.4.2 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 All 196 releases
← All changes | includes/class-convertkit-settings-restrict-content.php +153 -14 3.3.33.4.3 View file →
@@ -77,21 +77,8 @@
77 77
78 78 }
79 79
80 80 /**
81 - * Returns whether login by email is required for Member Content by Tag functionality.
82 - *
83 - * @since 2.7.2
84 - *
85 - * @return bool
86 - */
87 - public function require_tag_login() {
88 -
89 - return ( $this->settings['require_tag_login'] === 'on' ? true : false );
90 -
91 - }
92 -
93 - /**
94 81 * Returns Restrict Content settings value for the given key.
95 82 *
96 83 * @since 2.1.0
97 84 *
@@ -115,8 +102,140 @@
115 102
116 103 }
117 104
118 105 /**
106 + * Returns this settings group's programmatic name.
107 + *
108 + * @since 3.4.0
109 + *
110 + * @return string
111 + */
112 + public function get_name() {
113 +
114 + return 'restrict-content';
115 +
116 + }
117 +
118 + /**
119 + * Returns the title of this settings group.
120 + *
121 + * @since 3.4.0
122 + *
123 + * @return string
124 + */
125 + public function get_title() {
126 +
127 + return __( 'Member Content Settings', 'convertkit' );
128 +
129 + }
130 +
131 + /**
132 + * Returns the keys in this settings group that hold credentials or other
133 + * sensitive values.
134 + *
135 + * Member Content settings hold no secrets; returned for interface
136 + * consistency.
137 + *
138 + * @since 3.4.0
139 + *
140 + * @return string[]
141 + */
142 + public function get_secret_keys() {
143 +
144 + return array();
145 +
146 + }
147 +
148 + /**
149 + * Returns the JSON Schema describing this settings group, in the shape
150 + * stored by save() / returned by get(), excluding secret keys.
151 + *
152 + * @since 3.4.0
153 + *
154 + * @return array
155 + */
156 + public function get_schema() {
157 +
158 + return array(
159 + 'type' => 'object',
160 + 'additionalProperties' => false,
161 + 'properties' => array(
162 + 'permit_crawlers' => array(
163 + 'type' => 'string',
164 + 'enum' => array( '', 'on' ),
165 + 'description' => __( 'Whether search engine crawlers are permitted to index Member Content.', 'convertkit' ),
166 + ),
167 + 'no_access_text_form' => array(
168 + 'type' => 'string',
169 + 'description' => __( 'Message shown to a visitor without access when content is restricted by Form.', 'convertkit' ),
170 + ),
171 + 'subscribe_heading' => array(
172 + 'type' => 'string',
173 + 'description' => __( 'Heading shown above the subscribe call-to-action when content is restricted by Product.', 'convertkit' ),
174 + ),
175 + 'subscribe_text' => array(
176 + 'type' => 'string',
177 + 'description' => __( 'Body text shown alongside the subscribe call-to-action when content is restricted by Product.', 'convertkit' ),
178 + ),
179 + 'no_access_text' => array(
180 + 'type' => 'string',
181 + 'description' => __( 'Message shown to a visitor without access when content is restricted by Product.', 'convertkit' ),
182 + ),
183 + 'subscribe_heading_tag' => array(
184 + 'type' => 'string',
185 + 'description' => __( 'Heading shown above the subscribe call-to-action when content is restricted by Tag.', 'convertkit' ),
186 + ),
187 + 'subscribe_text_tag' => array(
188 + 'type' => 'string',
189 + 'description' => __( 'Body text shown alongside the subscribe call-to-action when content is restricted by Tag.', 'convertkit' ),
190 + ),
191 + 'require_tag_login' => array(
192 + 'type' => 'string',
193 + 'enum' => array( '', 'on' ),
194 + 'description' => __( 'Whether visitors must log in by email to access Member Content restricted by Tag.', 'convertkit' ),
195 + ),
196 + 'no_access_text_tag' => array(
197 + 'type' => 'string',
198 + 'description' => __( 'Message shown to a visitor without access when content is restricted by Tag.', 'convertkit' ),
199 + ),
200 + 'subscribe_button_label' => array(
201 + 'type' => 'string',
202 + 'description' => __( 'Label for the Subscribe button.', 'convertkit' ),
203 + ),
204 + 'email_text' => array(
205 + 'type' => 'string',
206 + 'description' => __( 'Body text shown above the email log-in form.', 'convertkit' ),
207 + ),
208 + 'email_button_label' => array(
209 + 'type' => 'string',
210 + 'description' => __( 'Label for the email log-in button.', 'convertkit' ),
211 + ),
212 + 'email_heading' => array(
213 + 'type' => 'string',
214 + 'description' => __( 'Heading shown above the email log-in form.', 'convertkit' ),
215 + ),
216 + 'email_description_text' => array(
217 + 'type' => 'string',
218 + 'description' => __( 'Description shown beneath the email log-in heading.', 'convertkit' ),
219 + ),
220 + 'email_check_heading' => array(
221 + 'type' => 'string',
222 + 'description' => __( 'Heading shown after the visitor requests a magic log-in code.', 'convertkit' ),
223 + ),
224 + 'email_check_text' => array(
225 + 'type' => 'string',
226 + 'description' => __( 'Body text shown after the visitor requests a magic log-in code.', 'convertkit' ),
227 + ),
228 + 'container_css_classes' => array(
229 + 'type' => 'string',
230 + 'description' => __( 'Additional CSS classes appended to the Restrict Content container element.', 'convertkit' ),
231 + ),
232 + ),
233 + );
234 +
235 + }
236 +
237 + /**
119 238 * The default settings, used when the ConvertKit Restrict Content Settings haven't been saved
120 239 * e.g. on a new installation.
121 240 *
122 241 * @since 2.1.0
@@ -139,9 +258,8 @@
139 258
140 259 // Restrict by Tag.
141 260 'subscribe_heading_tag' => __( 'Subscribe to keep reading', 'convertkit' ),
142 261 'subscribe_text_tag' => __( 'This post is free to read but only available to subscribers. Join today to get access to all posts.', 'convertkit' ),
143 - 'require_tag_login' => '', // blank|on.
144 262 'no_access_text_tag' => __( 'Your account does not have access to this content. Please use the form above to subscribe.', 'convertkit' ),
145 263
146 264 // All.
147 265 'subscribe_button_label' => __( 'Subscribe', 'convertkit' ),
@@ -177,8 +295,29 @@
177 295 */
178 296 public function save( $settings ) {
179 297
180 298 update_option( self::SETTINGS_NAME, array_merge( $this->get(), $settings ) );
299 +
300 + // Reload settings in class, to reflect changes.
301 + $this->refresh_settings();
302 +
303 + }
304 +
305 + /**
306 + * Reloads settings from the options table so this instance has the latest values.
307 + *
308 + * @since 3.3.5
309 + */
310 + private function refresh_settings() {
311 +
312 + $settings = get_option( self::SETTINGS_NAME );
313 +
314 + if ( ! $settings ) {
315 + $this->settings = $this->get_defaults();
316 + return;
317 + }
318 +
319 + $this->settings = array_merge( $this->get_defaults(), $settings );
181 320
182 321 }
183 322
184 323 }