Insert Post Ads - Version 1.0.3

Version Description

  • Added: Option to exclude inline CSS on adverts
  • Added: .insert-post-ads class on advert containers
  • Added: Post/Page/CPT specific advert exclusion option
Download this release

Release Info

Developer n7studios
Plugin Icon 128x128 Insert Post Ads
Version 1.0.3
Comparing to
See all releases

Code changes from version 1.0.2 to 1.0.3

Files changed (3) hide show
  1. insert-post-ads.php +61 -12
  2. readme.txt +5 -0
  3. views/settings.php +29 -11
insert-post-ads.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Plugin Name: Insert Post Ads
4
  * Plugin URI: http://www.wpbeginner.com/
5
- * Version: 1.0.1
6
  * Author: WPBeginner
7
  * Author URI: http://www.wpbeginner.com/
8
  * Description: Allows you to insert ads after paragraphs of your post content
@@ -31,7 +31,7 @@
31
  * @package WPBeginner
32
  * @subpackage Insert Post Ads
33
  * @author Tim Carr
34
- * @version 1.0.1
35
  * @copyright WPBeginner
36
  */
37
  class InsertPostAds {
@@ -44,7 +44,7 @@ class InsertPostAds {
44
  $this->plugin->name = 'insert-post-ads'; // Plugin Folder
45
  $this->plugin->displayName = 'Post Adverts'; // Plugin Name
46
  $this->plugin->posttype = 'insertpostads';
47
- $this->plugin->version = '1.0.1';
48
  $this->plugin->folder = WP_PLUGIN_DIR.'/'.$this->plugin->name; // Full Path to Plugin Folder
49
  $this->plugin->url = WP_PLUGIN_URL.'/'.str_replace(basename( __FILE__),"",plugin_basename(__FILE__));
50
 
@@ -118,6 +118,24 @@ class InsertPostAds {
118
  function adminPanelsAndMetaBoxes() {
119
  add_submenu_page('edit.php?post_type='.$this->plugin->posttype, __('Settings', $this->plugin->name), __('Settings', $this->plugin->name), 'manage_options', $this->plugin->name, array(&$this, 'adminPanel'));
120
  add_meta_box('ipa_meta', __('Advert Code', $this->plugin->name), array( &$this, 'displayMetaBox'), $this->plugin->posttype, 'normal', 'high');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
121
  }
122
 
123
  /**
@@ -174,6 +192,28 @@ class InsertPostAds {
174
  <?php
175
  }
176
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
177
  /**
178
  * Saves the meta box field data
179
  *
@@ -190,19 +230,24 @@ class InsertPostAds {
190
  return $post_id;
191
  }
192
 
193
- // Check this is the Ad Custom Post Type
194
- if ($_POST['post_type'] != $this->plugin->posttype) {
195
- return $post_id;
196
- }
197
-
198
  // Check the logged in user has permission to edit this post
199
  if (!current_user_can('edit_post', $post_id)) {
200
  return $post_id;
201
  }
202
 
203
  // OK to save meta data
204
- update_post_meta($post_id, '_ad_code', $_POST['ad_code']);
205
- update_post_meta($post_id, '_paragraph_number', $_POST['paragraph_number']);
 
 
 
 
 
 
 
 
 
 
206
  }
207
 
208
  /**
@@ -256,7 +301,11 @@ class InsertPostAds {
256
  // Check if we are on a singular post type that's enabled
257
  foreach ($this->settings as $postType=>$enabled) {
258
  if (is_singular($postType)) {
259
- return $this->insertAds($content);
 
 
 
 
260
  }
261
  }
262
 
@@ -313,7 +362,7 @@ class InsertPostAds {
313
 
314
  // + 1 allows for considering the first paragraph as #1, not #0.
315
  if ( $paragraph_id == $index + 1 ) {
316
- $paragraphs[$index] .= '<div style="clear:both;float:left;width:100%;margin:0 0 20px 0;">'. $insertion .'</div>';
317
  }
318
  }
319
  return implode( '', $paragraphs );
2
  /**
3
  * Plugin Name: Insert Post Ads
4
  * Plugin URI: http://www.wpbeginner.com/
5
+ * Version: 1.0.3
6
  * Author: WPBeginner
7
  * Author URI: http://www.wpbeginner.com/
8
  * Description: Allows you to insert ads after paragraphs of your post content
31
  * @package WPBeginner
32
  * @subpackage Insert Post Ads
33
  * @author Tim Carr
34
+ * @version 1.0.3
35
  * @copyright WPBeginner
36
  */
37
  class InsertPostAds {
44
  $this->plugin->name = 'insert-post-ads'; // Plugin Folder
45
  $this->plugin->displayName = 'Post Adverts'; // Plugin Name
46
  $this->plugin->posttype = 'insertpostads';
47
+ $this->plugin->version = '1.0.3';
48
  $this->plugin->folder = WP_PLUGIN_DIR.'/'.$this->plugin->name; // Full Path to Plugin Folder
49
  $this->plugin->url = WP_PLUGIN_URL.'/'.str_replace(basename( __FILE__),"",plugin_basename(__FILE__));
50
 
118
  function adminPanelsAndMetaBoxes() {
119
  add_submenu_page('edit.php?post_type='.$this->plugin->posttype, __('Settings', $this->plugin->name), __('Settings', $this->plugin->name), 'manage_options', $this->plugin->name, array(&$this, 'adminPanel'));
120
  add_meta_box('ipa_meta', __('Advert Code', $this->plugin->name), array( &$this, 'displayMetaBox'), $this->plugin->posttype, 'normal', 'high');
121
+ $postTypes = get_post_types(array(
122
+ 'public' => true,
123
+ ), 'objects');
124
+ if ($postTypes) {
125
+ foreach ($postTypes as $postType) {
126
+ // Skip attachments
127
+ if ($postType->name == 'attachment') {
128
+ continue;
129
+ }
130
+
131
+ // Skip our CPT
132
+ if ($postType->name == $this->plugin->posttype) {
133
+ continue;
134
+ }
135
+ add_meta_box('ipa_meta', __($this->plugin->displayName, $this->plugin->name), array( &$this, 'displayOptionsMetaBox'), $postType->name, 'normal', 'high');
136
+ }
137
+ }
138
+
139
  }
140
 
141
  /**
192
  <?php
193
  }
194
 
195
+ /**
196
+ * Displays the meta box on Pages, Posts and CPTs
197
+ *
198
+ * @param object $post Post
199
+ */
200
+ function displayOptionsMetaBox($post) {
201
+ // Get meta
202
+ $disable = get_post_meta($post->ID, '_ipa_disable_ads', true);
203
+
204
+ // Nonce field
205
+ wp_nonce_field($this->plugin->name, $this->plugin->name.'_nonce');
206
+ ?>
207
+ <p>
208
+ <label for="ipa_disable_ads"><?php _e('Disable Adverts', $this->plugin->name); ?></label>
209
+ <input type="checkbox" name="ipa_disable_ads" id="ipa_disable_ads" value="1"<?php echo ($disable ? ' checked' : ''); ?> />
210
+ </p>
211
+ <p class="description">
212
+ <?php _e('Check this option if you wish to disable all Post Ads from displaying on this content.', $this->plugin->name); ?>
213
+ </p>
214
+ <?php
215
+ }
216
+
217
  /**
218
  * Saves the meta box field data
219
  *
230
  return $post_id;
231
  }
232
 
 
 
 
 
 
233
  // Check the logged in user has permission to edit this post
234
  if (!current_user_can('edit_post', $post_id)) {
235
  return $post_id;
236
  }
237
 
238
  // OK to save meta data
239
+ if (isset($_POST['ipa_disable_ads'])) {
240
+ update_post_meta($post_id, '_ipa_disable_ads', $_POST['ipa_disable_ads']);
241
+ } else {
242
+ delete_post_meta($post_id, '_ipa_disable_ads');
243
+ }
244
+
245
+ if (isset($_POST['ad_code'])) {
246
+ update_post_meta($post_id, '_ad_code', $_POST['ad_code']);
247
+ }
248
+ if (isset($_POST['paragraph_number'])) {
249
+ update_post_meta($post_id, '_paragraph_number', $_POST['paragraph_number']);
250
+ }
251
  }
252
 
253
  /**
301
  // Check if we are on a singular post type that's enabled
302
  foreach ($this->settings as $postType=>$enabled) {
303
  if (is_singular($postType)) {
304
+ // Check the post hasn't disabled adverts
305
+ $disable = get_post_meta($post->ID, '_ipa_disable_ads', true);
306
+ if (!$disable) {
307
+ return $this->insertAds($content);
308
+ }
309
  }
310
  }
311
 
362
 
363
  // + 1 allows for considering the first paragraph as #1, not #0.
364
  if ( $paragraph_id == $index + 1 ) {
365
+ $paragraphs[$index] .= '<div class="'.$this->plugin->name.'"'.(isset($this->settings['css']) ? '' : ' style="clear:both;float:left;width:100%;margin:0 0 20px 0;"').'>'. $insertion .'</div>';
366
  }
367
  }
368
  return implode( '', $paragraphs );
readme.txt CHANGED
@@ -46,6 +46,11 @@ Lastly, if you like this plugin then follow WPBeginner on <a href="http://twitte
46
 
47
  == Changelog ==
48
 
 
 
 
 
 
49
  = 1.0.2 =
50
  * Removed: readme.txt tags
51
  * Fix: Content not outputting when no Post Adverts defined
46
 
47
  == Changelog ==
48
 
49
+ = 1.0.3 =
50
+ * Added: Option to exclude inline CSS on adverts
51
+ * Added: .insert-post-ads class on advert containers
52
+ * Added: Post/Page/CPT specific advert exclusion option
53
+
54
  = 1.0.2 =
55
  * Removed: readme.txt tags
56
  * Fix: Content not outputting when no Post Adverts defined
views/settings.php CHANGED
@@ -19,11 +19,11 @@
19
  <!-- Content -->
20
  <div id="post-body-content">
21
  <div id="normal-sortables" class="meta-box-sortables ui-sortable">
22
- <div class="postbox">
23
- <h3 class="hndle"><?php _e('Where do you want ads to display?', $this->plugin->name); ?></h3>
24
-
25
- <div class="inside">
26
- <form action="edit.php?post_type=<?php echo $this->plugin->posttype; ?>&page=<?php echo $this->plugin->name; ?>" method="post">
27
  <p>
28
  <?php
29
  $postTypes = get_post_types(array(
@@ -42,15 +42,33 @@
42
  }
43
  }
44
  ?>
45
- </p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46
 
47
  <p>
48
- <input name="submit" type="submit" name="Submit" class="button button-primary" value="Save settings" />
49
  </p>
50
- </form>
51
- </div>
52
- </div>
53
- <!-- /postbox -->
54
 
55
  <div id="wpbeginner" class="postbox">
56
  <h3 class="hndle"><?php _e('Latest from WPBeginner', $this->plugin->name); ?></h3>
19
  <!-- Content -->
20
  <div id="post-body-content">
21
  <div id="normal-sortables" class="meta-box-sortables ui-sortable">
22
+ <form action="edit.php?post_type=<?php echo $this->plugin->posttype; ?>&page=<?php echo $this->plugin->name; ?>" method="post">
23
+ <div class="postbox">
24
+ <h3 class="hndle"><?php _e('Where do you want ads to display?', $this->plugin->name); ?></h3>
25
+
26
+ <div class="inside">
27
  <p>
28
  <?php
29
  $postTypes = get_post_types(array(
42
  }
43
  }
44
  ?>
45
+ </p>
46
+ <p>
47
+ <input name="submit" type="submit" name="Submit" class="button button-primary" value="<?php _e('Save Settings', $this->plugin->name); ?>" />
48
+ </p>
49
+ </div>
50
+ </div>
51
+ <!-- /postbox -->
52
+
53
+ <div class="postbox">
54
+ <h3 class="hndle"><?php _e('Display Styling', $this->plugin->name); ?></h3>
55
+
56
+ <div class="inside">
57
+ <p>
58
+ <label for="css"><?php _e('Exclude CSS', $this->plugin->name) ;?></label>
59
+ <input type="checkbox" name="<?php echo $this->plugin->name; ?>[css]" value="1" id="css" <?php echo (isset($this->settings['css']) ? ' checked' : ''); ?>/>
60
+ </p>
61
+ <p class="description">
62
+ <?php _e('By default, Post Ads are wrapped in a container that has some CSS to aid layout. Developers may wish to use their own CSS, and should check this Exclude CSS option.', $this->plugin->name); ?>
63
+ </p>
64
 
65
  <p>
66
+ <input name="submit" type="submit" name="Submit" class="button button-primary" value="<?php _e('Save Settings', $this->plugin->name); ?>" />
67
  </p>
68
+ </div>
69
+ </div>
70
+ <!-- /postbox -->
71
+ </form>
72
 
73
  <div id="wpbeginner" class="postbox">
74
  <h3 class="hndle"><?php _e('Latest from WPBeginner', $this->plugin->name); ?></h3>