List category posts - Version 0.19

Version Description

This update is dedicated to S. Keller from Switzerland who gave me "The Ultimate Hitchhiker's Guide to the Galaxy" from my Amazon Wishlit in appreciation for the plugin. I am really enjoying the read :D. If you * Fixed private post logic, not displaying post if private. Thanks Bainternet from WordPress Answers: http://wordpress.stackexchange.com/questions/12514/list-category-posts-not-showing-posts-marked-private-to-logged-in-users/12520#12520 * Added thumbnail_size parameter. * Added support for custom taxonomies and also moved to the array call of get_posts. Coded by wsherliker, thanks! http://picod.net/32 * Fixed widget, now it remembers saved options.

Download this release

Release Info

Developer fernandobt
Plugin Icon 128x128 List category posts
Version 0.19
Comparing to
See all releases

Code changes from version 0.18.3 to 0.19

include/CatList.php CHANGED
@@ -30,25 +30,43 @@ class CatList{
30
  $this->lcp_category_id = $this->params['id'];
31
  }
32
 
33
- $lcp_category = 'cat=' . $this->lcp_category_id;
34
 
35
- //Build the query for get_posts()
36
- $lcp_query = $lcp_category.'&numberposts=' . $this->params['numberposts'] .
37
- '&orderby=' . $this->params['orderby'] .
38
- '&order=' . $this->params['order'] .
39
- '&exclude=' . $this->params['excludeposts'] .
40
- '&tag=' . $this->params['tags'] .
41
- '&offset=' . $this->params['offset'];
42
 
43
  // Post type and post parent:
44
- if($this->params['post_type']): $lcp_query .= '&post_type=' . $this->params['post_type']; endif;
45
- if($this->params['post_parent']): $lcp_query .= '&post_parent=' . $this->params['post_parent']; endif;
46
 
47
  // Custom fields 'customfield_name' & 'customfield_value' should both be defined
48
  if($this->params['customfield_name']!='' && $this->params['customfield_value'] != ''):
49
- $lcp_query .= '&meta_key=' . $this->params['customfield_name'] . '&meta_value=' . $this->params['customfield_value'];
 
50
  endif;
51
- $this->lcp_categories_posts = get_posts($lcp_query);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
52
  }
53
 
54
  /**
@@ -146,9 +164,6 @@ class CatList{
146
 
147
  public function get_content($single){
148
  if ($this->params['content']=='yes' && $single->post_content){
149
- if ( post_password_required($single) ) {
150
- return __('This is a protected post.');
151
- }
152
  $lcp_content = $single->post_content;
153
  //Need to put some more thought on this!
154
  //Added to stop a post with catlist to display an infinite loop of catlist shortcode parsing
@@ -171,10 +186,6 @@ class CatList{
171
  return $single->post_excerpt;
172
  }
173
  $lcp_excerpt = strip_tags($single->post_content);
174
- if ( post_password_required($single) ) {
175
- $lcp_excerpt = __('There is no excerpt because this is a protected post.');
176
- return $lcp_excerpt;
177
- }
178
  if (strlen($lcp_excerpt) > 255) {
179
  $lcp_excerpt = substr($lcp_excerpt, 0, 252) . '...';
180
  }
@@ -188,12 +199,13 @@ class CatList{
188
  * Get the post Thumbnail
189
  * @see http://codex.wordpress.org/Function_Reference/get_the_post_thumbnail
190
  * @param unknown_type $single
 
191
  */
192
  public function get_thumbnail($single){
193
  if ($this->params['thumbnail']=='yes'){
194
  $lcp_thumbnail = '';
195
  if ( has_post_thumbnail($single->ID) ) {
196
- $lcp_thumbnail = get_the_post_thumbnail($single->ID);
197
  }
198
  return $lcp_thumbnail;
199
  } else {
30
  $this->lcp_category_id = $this->params['id'];
31
  }
32
 
33
+ $args = array('cat'=> $this->lcp_category_id);
34
 
35
+ $args = array_merge($args, array(
36
+ 'numberposts' => $this->params['numberposts'],
37
+ 'orderby' => $this->params['orderby'],
38
+ 'order' => $this->params['order'],
39
+ 'exclude' => $this->params['excludeposts'],
40
+ 'offset' => $this->params['offset']
41
+ ));
42
 
43
  // Post type and post parent:
44
+ if($this->params['post_type']): $args['post_type'] = $this->params['post_type']; endif;
45
+ if($this->params['post_parent']): $args['post_parent'] = $this->params['post_parent']; endif;
46
 
47
  // Custom fields 'customfield_name' & 'customfield_value' should both be defined
48
  if($this->params['customfield_name']!='' && $this->params['customfield_value'] != ''):
49
+ $args['meta_key'] = $this->params['customfield_name'];
50
+ $args['meta_value'] = $this->params['customfield_value'];
51
  endif;
52
+
53
+ //Get private posts
54
+ if(is_user_logged_in()){
55
+ $args['post_status'] = array('publish','private');
56
+ }
57
+
58
+ // Added custom taxonomy support
59
+ if ($this->params['taxonomy'] != "" && $this->params['tags'] != "") {
60
+ $args['tax_query'] = array(array(
61
+ 'taxonomy' => 'topic-tag',
62
+ 'field' => 'slug',
63
+ 'terms' => explode(",",$this->params['tags'])
64
+ ));
65
+ } elseif ($this->params['tags'] != "") {
66
+ $args['tag'] = $this->params['tags'];
67
+ }
68
+
69
+ $this->lcp_categories_posts = get_posts($args);
70
  }
71
 
72
  /**
164
 
165
  public function get_content($single){
166
  if ($this->params['content']=='yes' && $single->post_content){
 
 
 
167
  $lcp_content = $single->post_content;
168
  //Need to put some more thought on this!
169
  //Added to stop a post with catlist to display an infinite loop of catlist shortcode parsing
186
  return $single->post_excerpt;
187
  }
188
  $lcp_excerpt = strip_tags($single->post_content);
 
 
 
 
189
  if (strlen($lcp_excerpt) > 255) {
190
  $lcp_excerpt = substr($lcp_excerpt, 0, 252) . '...';
191
  }
199
  * Get the post Thumbnail
200
  * @see http://codex.wordpress.org/Function_Reference/get_the_post_thumbnail
201
  * @param unknown_type $single
202
+ *
203
  */
204
  public function get_thumbnail($single){
205
  if ($this->params['thumbnail']=='yes'){
206
  $lcp_thumbnail = '';
207
  if ( has_post_thumbnail($single->ID) ) {
208
+ $lcp_thumbnail = get_the_post_thumbnail($single->ID, $this->params['thumbnail_size']);
209
  }
210
  return $lcp_thumbnail;
211
  } else {
include/CatListDisplayer.php CHANGED
@@ -59,7 +59,9 @@ class CatListDisplayer {
59
  $inner_tag = ($tag == 'ul') ? 'li' : 'p';
60
  //Posts loop
61
  foreach ($this->catlist->get_categories_posts() as $single):
62
- $this->lcp_output .= $this->lcp_build_post($single, $inner_tag);
 
 
63
  endforeach;
64
 
65
  $this->lcp_output .= '</' . $tag . '>';
59
  $inner_tag = ($tag == 'ul') ? 'li' : 'p';
60
  //Posts loop
61
  foreach ($this->catlist->get_categories_posts() as $single):
62
+ if ( !post_password_required($single) ){
63
+ $this->lcp_output .= $this->lcp_build_post($single, $inner_tag);
64
+ }
65
  endforeach;
66
 
67
  $this->lcp_output .= '</' . $tag . '>';
include/ListCategoryPostsWidget.php CHANGED
@@ -21,20 +21,21 @@ require_once 'CatListDisplayer.php';
21
  class ListCategoryPostsWidget extends WP_Widget{
22
 
23
  function ListCategoryPostsWidget() {
24
- parent::WP_Widget(false, $name = 'List Category Posts');
 
25
  }
26
 
27
  function widget($args, $instance) {
28
  extract( $args );
29
- $title = apply_filters('widget_title', $instance['title']);
30
- $limit = (is_numeric($instance['limit'])) ? $instance['limit'] : 5;
31
- $orderby = ($instance['orderby']) ? $instance['orderby'] : 'date';
32
- $order = ($instance['order']) ? $instance['order'] : 'desc';
33
- $exclude = ($instance['exclude'] != '') ? $instance['exclude'] : 0;
34
- $excludeposts = ($instance['excludeposts'] != '') ? $instance['excludeposts'] : 0;
35
- $offset = (is_numeric($instance['offset'])) ? $instance['offset'] : 0;
36
- $category_id = $instance['categoryid'];
37
- $dateformat = ($instance['dateformat']) ? $instance['dateformat'] : get_option('date_format');
38
  $showdate = ($instance['show_date'] == 'on') ? 'yes' : 'no';
39
  $showexcerpt = ($instance['show_excerpt'] == 'on') ? 'yes' : 'no';
40
  $showauthor = ($instance['show_author'] == 'on') ? 'yes' : 'no';
@@ -67,7 +68,22 @@ class ListCategoryPostsWidget extends WP_Widget{
67
 
68
  /** @see WP_Widget::update */
69
  function update($new_instance, $old_instance) {
70
- return $new_instance;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
71
  }
72
 
73
  /** @see WP_Widget::form */
21
  class ListCategoryPostsWidget extends WP_Widget{
22
 
23
  function ListCategoryPostsWidget() {
24
+ $opts = array('description' => '');
25
+ parent::WP_Widget(false, $name = 'List Category Posts', $opts);
26
  }
27
 
28
  function widget($args, $instance) {
29
  extract( $args );
30
+ $title = empty($instance['title']) ? ' ' : apply_filters('widget_title', $instance['title']);
31
+ $limit = (is_numeric($instance['limit'])) ? $instance['limit'] : 5;
32
+ $orderby = ($instance['orderby']) ? $instance['orderby'] : 'date';
33
+ $order = ($instance['order']) ? $instance['order'] : 'desc';
34
+ $exclude = ($instance['exclude'] != '') ? $instance['exclude'] : 0;
35
+ $excludeposts = ($instance['excludeposts'] != '') ? $instance['excludeposts'] : 0;
36
+ $offset = (is_numeric($instance['offset'])) ? $instance['offset'] : 0;
37
+ $category_id = $instance['categoryid'];
38
+ $dateformat = ($instance['dateformat']) ? $instance['dateformat'] : get_option('date_format');
39
  $showdate = ($instance['show_date'] == 'on') ? 'yes' : 'no';
40
  $showexcerpt = ($instance['show_excerpt'] == 'on') ? 'yes' : 'no';
41
  $showauthor = ($instance['show_author'] == 'on') ? 'yes' : 'no';
68
 
69
  /** @see WP_Widget::update */
70
  function update($new_instance, $old_instance) {
71
+ $instance = $old_instance;
72
+ $instance['title'] = strip_tags($new_instance['title']);
73
+ $instance['limit'] = strip_tags($new_instance['limit']);
74
+ $instance['orderby'] = strip_tags($new_instance['orderby']);
75
+ $instance['order'] = strip_tags($new_instance['order']);
76
+ $instance['exclude'] = strip_tags($new_instance['exclude']);
77
+ $instance['excludeposts'] = strip_tags($new_instance['excludeposts']);
78
+ $instance['offset'] = strip_tags($new_instance['offset']);
79
+ $instance['categoryid'] = strip_tags($new_instance['categoryid']);
80
+ $instance['dateformat'] = strip_tags($new_instance['dateformat']);
81
+ $instance['show_date'] = strip_tags($new_instance['show_date']);
82
+ $instance['show_excerpt'] = strip_tags($new_instance['show_excerpt']);
83
+ $instance['show_author'] = strip_tags($new_instance['show_author']);
84
+ $instance['show_catlink'] = strip_tags($new_instance['show_catlink']);
85
+
86
+ return $instance;
87
  }
88
 
89
  /** @see WP_Widget::form */
include/lcp_widget_form.php CHANGED
@@ -57,8 +57,8 @@ $showexcerpt = strip_tags($instance['excerpt']);
57
  <?php
58
  $categories= get_categories();
59
  foreach ($categories as $cat) :
60
- $option = '<option value="' . $cat->cat_ID;
61
- if ($cat->cat_ID == attribute_escape($categoryid)) :
62
  $option .= ' selected = "selected" ';
63
  endif;
64
  $option .= '">';
@@ -82,35 +82,35 @@ $showexcerpt = strip_tags($instance['excerpt']);
82
  value="<?php echo attribute_escape($offset); ?>" />
83
  </label></p>
84
 
85
- <p><label for="<?php echo $this->get_field_id('order'); ?>"><?php __("Order")?></label>
86
- <br/>
87
- <select id="<?php echo $this->get_field_id('orderby'); ?>"
88
- name="<?php echo $this->get_field_name('orderby'); ?>" type="text" />
89
- <option value='date'>Date</option>
90
- <option value='title'>Post title</option>
91
- <option value='author'>Author</option>
92
- <option value='rand'>Random</option>
93
- </select>
94
  </p>
95
 
96
- <p><label for="<?php echo $this->get_field_id('order'); ?>">Order: </select>g<br/>
97
- <select id="<?php echo $this->get_field_id('order'); ?>"
98
- name="<?php echo $this->get_field_name('order'); ?>" type="text" />
99
- <option value='desc'>Descending</option>
100
- <option value='asc'>Ascending</option>
 
101
  </p>
102
 
103
- <p><label for="<?php echo $this->get_field_id('exclude'); ?>">Exclude categories (id's): <br/>
104
  <input id="<?php echo $this->get_field_id('exclude'); ?>"
105
  name="<?php echo $this->get_field_name('exclude'); ?>" type="text"
106
  value="<?php echo attribute_escape($exclude); ?>" />
107
- </label></p>
108
 
109
- <p><label for="<?php echo $this->get_field_id('excludeposts'); ?>">Exclude posts (id's): <br/>
110
  <input id="<?php echo $this->get_field_id('excludeposts'); ?>"
111
  name="<?php echo $this->get_field_name('excludeposts'); ?>" type="text"
112
  value="<?php echo attribute_escape($excludeposts); ?>" />
113
- </label></p>
114
 
115
  <p>
116
  <label>Show: </label><br/>
57
  <?php
58
  $categories= get_categories();
59
  foreach ($categories as $cat) :
60
+ $option = '<option value="' . $cat->cat_ID . '" ';
61
+ if ($cat->cat_ID == $categoryid) :
62
  $option .= ' selected = "selected" ';
63
  endif;
64
  $option .= '">';
82
  value="<?php echo attribute_escape($offset); ?>" />
83
  </label></p>
84
 
85
+ <p><label for="<?php echo $this->get_field_id('orderby'); ?>">Order by</label> <br/>
86
+ <select id="<?php echo $this->get_field_id('orderby'); ?>"
87
+ name="<?php echo $this->get_field_name('orderby'); ?>" type="text" >
88
+ <option value='date'>Date</option>
89
+ <option value='title'>Post title</option>
90
+ <option value='author'>Author</option>
91
+ <option value='rand'>Random</option>
92
+ </select>
 
93
  </p>
94
 
95
+ <p><label for="<?php echo $this->get_field_id('order'); ?>">Order:</label><br/>
96
+ <select id="<?php echo $this->get_field_id('order'); ?>"
97
+ name="<?php echo $this->get_field_name('order'); ?>" type="text">
98
+ <option value='desc'>Descending</option>
99
+ <option value='asc'>Ascending</option>
100
+ </select>
101
  </p>
102
 
103
+ <p><label for="<?php echo $this->get_field_id('exclude'); ?>">Exclude categories (id's): </label><br/>
104
  <input id="<?php echo $this->get_field_id('exclude'); ?>"
105
  name="<?php echo $this->get_field_name('exclude'); ?>" type="text"
106
  value="<?php echo attribute_escape($exclude); ?>" />
107
+ </p>
108
 
109
+ <p><label for="<?php echo $this->get_field_id('excludeposts'); ?>">Exclude posts (id's): </label><br/>
110
  <input id="<?php echo $this->get_field_id('excludeposts'); ?>"
111
  name="<?php echo $this->get_field_name('excludeposts'); ?>" type="text"
112
  value="<?php echo attribute_escape($excludeposts); ?>" />
113
+ </p>
114
 
115
  <p>
116
  <label>Show: </label><br/>
list_cat_posts.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: List category posts
4
  Plugin URI: http://picandocodigo.net/programacion/wordpress/list-category-posts-wordpress-plugin-english/
5
  Description: List Category Posts allows you to list posts from a category into a post/page using the [catlist] shortcode. This shortcode accepts a category name or id, the order in which you want the posts to display, and the number of posts to display. You can use [catlist] as many times as needed with different arguments. Usage: [catlist argument1=value1 argument2=value2].
6
- Version: 0.18.3
7
  Author: Fernando Briano
8
  Author URI: http://picandocodigo.net/
9
  */
@@ -54,6 +54,7 @@ class ListCategoryPosts{
54
  'catlink' => 'no',
55
  'comments' => 'no',
56
  'thumbnail' => 'no',
 
57
  'post_type' => '',
58
  'post_parent' => '0',
59
  'class' => 'lcp_catlist',
@@ -74,8 +75,15 @@ add_shortcode( 'catlist', array('ListCategoryPosts', 'catlist_func') );
74
 
75
  /**
76
  * TO-DO:
77
- * - i18n
78
- * - Pagination
79
- * - Simpler template system
80
- * - Exclude child categories
 
 
 
 
 
 
 
81
  */
3
  Plugin Name: List category posts
4
  Plugin URI: http://picandocodigo.net/programacion/wordpress/list-category-posts-wordpress-plugin-english/
5
  Description: List Category Posts allows you to list posts from a category into a post/page using the [catlist] shortcode. This shortcode accepts a category name or id, the order in which you want the posts to display, and the number of posts to display. You can use [catlist] as many times as needed with different arguments. Usage: [catlist argument1=value1 argument2=value2].
6
+ Version: 0.19
7
  Author: Fernando Briano
8
  Author URI: http://picandocodigo.net/
9
  */
54
  'catlink' => 'no',
55
  'comments' => 'no',
56
  'thumbnail' => 'no',
57
+ 'thumbnail_size' => 'thumbnail',
58
  'post_type' => '',
59
  'post_parent' => '0',
60
  'class' => 'lcp_catlist',
75
 
76
  /**
77
  * TO-DO:
78
+ * From WordPress Answers:
79
+ Add Older Posts at bottom of List Category Post page
80
+ http://wordpress.stackexchange.com/questions/26398/add-older-posts-at-bottom-of-list-category-post-page
81
+ Include the latest post of a specific category on a matching page
82
+ http://wordpress.stackexchange.com/questions/26224/how-to-include-the-latest-post-of-a-specific-category-on-a-matching-page
83
+ Link the thumbnail image
84
+ http://wordpress.stackexchange.com/questions/28431/im-trying-to-link-the-thumbnail-image
85
+ - i18n
86
+ - Pagination
87
+ - Simpler template system
88
+ - Exclude child categories
89
  */
readme.txt CHANGED
@@ -3,11 +3,11 @@ Contributors: fernandobt
3
  Donate Link: http://picandocodigo.net/programacion/wordpress/list-category-posts-wordpress-plugin-english/#support
4
  Tags: list, categories, posts, cms
5
  Requires at least: 2.8
6
- Tested up to: 3.1
7
- Stable tag: 0.18.3
8
 
9
  == Description ==
10
- List Category Posts allows you to list posts from a category into a post/page using the [catlist] shortcode.
11
 
12
  The shortcode accepts a category name or id, the order in which you want the posts to display, and the number of posts to display. You can also display the post author, date, excerpt, custom field values, even the content! The [catlist] shortcode can be used as many times as needed with different arguments on each post/page.
13
 
@@ -15,6 +15,8 @@ Great to use WordPress as a CMS, and create pages with several categories posts.
15
 
16
  The plugin includes a widget, which works pretty much the same as the plugin. Just add as many widgets as you want, and select all the available options from the Appearence > Widgets page.
17
 
 
 
18
  Works correctly with WordPress 3.1 and default Twenty Ten theme
19
  (http://wordpress.org/support/topic/399754)
20
 
@@ -91,6 +93,8 @@ If you use both arguments (wrong!), List Category Posts will show the posts from
91
 
92
  * **thumbnail** - Show post thumbnail (http://markjaquith.wordpress.com/2009/12/23/new-in-wordpress-2-9-post-thumbnail-images/). Default is 'no'. Ex: [catlist thumbnail=yes].
93
 
 
 
94
  * **post_type** - The type of post to show. Available options are: post - Default, page, attachment, any - all post types.
95
 
96
  * **post_parent** - Show only the children of the post with this ID. Default: None.
@@ -109,8 +113,8 @@ http://foro.picandocodigo.net/categories/list-category-posts
109
 
110
  == Frequently Asked Questions ==
111
  * **Instructions** on how to use the plugin: http://foro.picandocodigo.net/discussion/251/list-category-posts-documentation/
112
- * **Template system** how to customize the way the posts are shown: http://foro.picandocodigo.net/discussion/253/list-category-posts-using-templates/
113
- * **New feature requests** - Contact me on fernando at picandocodigo dot net or check out the forum.
114
  * **Support** I've decided to use WordPress Answers (http://meta.wordpress.stackexchange.com/) as the place for support. It's a great place with a large community of WordPress users and developers. Just ask your question with the tag 'plugin-list-category-post'.
115
 
116
  * **FAQ**
@@ -143,6 +147,13 @@ Template system has changed. Custom templates should be stored in WordPress them
143
 
144
  == Changelog ==
145
 
 
 
 
 
 
 
 
146
  = 0.18.3 =
147
  * Small excerpt fix, some readme file fixing too.
148
  * Not showing the_content for password protected posts.
@@ -154,7 +165,7 @@ Template system has changed. Custom templates should be stored in WordPress them
154
  * Added slug and name to the fetching of category id from previous update.
155
 
156
  = 0.18 =
157
- * Fixed category id bug. Reported and fixed by Eric Celeste / http://eric.clst.org, thanks!
158
  * Improved template system a liitle bit, now you can pass an HTML tag and a CSS class to sorround each field on your template.
159
  * Added category link which wasn't working after previous big update.
160
 
3
  Donate Link: http://picandocodigo.net/programacion/wordpress/list-category-posts-wordpress-plugin-english/#support
4
  Tags: list, categories, posts, cms
5
  Requires at least: 2.8
6
+ Tested up to: 3.2..1
7
+ Stable tag: 0.19
8
 
9
  == Description ==
10
+ List Category Posts allows you to list posts from a category into a post/page using the [catlist] shortcode.
11
 
12
  The shortcode accepts a category name or id, the order in which you want the posts to display, and the number of posts to display. You can also display the post author, date, excerpt, custom field values, even the content! The [catlist] shortcode can be used as many times as needed with different arguments on each post/page.
13
 
15
 
16
  The plugin includes a widget, which works pretty much the same as the plugin. Just add as many widgets as you want, and select all the available options from the Appearence > Widgets page.
17
 
18
+ Since version 0.18, **this plugins does not work on server with PHP 4**. If you're still using PHP 4 on your webhost, you should consider upgrading to PHP 5. WordPress 3.1 will be the last version to support PHP 4, from 3.2 and forward, only PHP 5 will be supported. You can still [download an older version of the plugin ] (https://wordpress.org/extend/plugins/list-category-posts/download/ "download an older version of the plugin") if you're using PHP 4.
19
+
20
  Works correctly with WordPress 3.1 and default Twenty Ten theme
21
  (http://wordpress.org/support/topic/399754)
22
 
93
 
94
  * **thumbnail** - Show post thumbnail (http://markjaquith.wordpress.com/2009/12/23/new-in-wordpress-2-9-post-thumbnail-images/). Default is 'no'. Ex: [catlist thumbnail=yes].
95
 
96
+ * **thumbnail_size** - Either a string keyword (thumbnail, medium, large or full) or a 2-item array representing width and height in pixels, e.g. array(32,32).
97
+
98
  * **post_type** - The type of post to show. Available options are: post - Default, page, attachment, any - all post types.
99
 
100
  * **post_parent** - Show only the children of the post with this ID. Default: None.
113
 
114
  == Frequently Asked Questions ==
115
  * **Instructions** on how to use the plugin: http://foro.picandocodigo.net/discussion/251/list-category-posts-documentation/
116
+ * **Template system** how to customize the way the posts are shown: http://foro.picandocodigo.net/discussion/253/list-category-posts-using-templates/. I am aware the Template System is not really friendly right now, I'll work on this whenever I get the time to work on the plugin for a while.
117
+ * **New feature requests** - Contact me on fernando at picandocodigo dot net.
118
  * **Support** I've decided to use WordPress Answers (http://meta.wordpress.stackexchange.com/) as the place for support. It's a great place with a large community of WordPress users and developers. Just ask your question with the tag 'plugin-list-category-post'.
119
 
120
  * **FAQ**
147
 
148
  == Changelog ==
149
 
150
+ = 0.19 =
151
+ This update is dedicated to S. Keller from Switzerland who gave me "The Ultimate Hitchhiker's Guide to the Galaxy" from my Amazon Wishlit in appreciation for the plugin. I am really enjoying the read :D. If you
152
+ * Fixed private post logic, not displaying post if private. Thanks Bainternet from WordPress Answers: http://wordpress.stackexchange.com/questions/12514/list-category-posts-not-showing-posts-marked-private-to-logged-in-users/12520#12520
153
+ * Added thumbnail_size parameter.
154
+ * Added support for custom taxonomies and also moved to the array call of get_posts. Coded by wsherliker, thanks! http://picod.net/32
155
+ * Fixed widget, now it remembers saved options.
156
+
157
  = 0.18.3 =
158
  * Small excerpt fix, some readme file fixing too.
159
  * Not showing the_content for password protected posts.
165
  * Added slug and name to the fetching of category id from previous update.
166
 
167
  = 0.18 =
168
+ * Fixed category id bug. Reported and fixed by Eric Celeste - http://eric.clst.org, thanks!
169
  * Improved template system a liitle bit, now you can pass an HTML tag and a CSS class to sorround each field on your template.
170
  * Added category link which wasn't working after previous big update.
171