Provide sidebar widget, shortcode and template functions that can be used to display posts from a set of tags using various options in the sidebar or …
Posts By Tag WordPress Plugin, provides sidebar widgets which can be used to display posts from a specific set of tags in the sidebar.
These tags can be specified in the widget or the Plugin can automatically retrieve them from the current post tags, post slug or form custom field. The custom fields can be specified in the edit post or page screen.
You can also use shortcode or template function to display the posts.
The Plugin caches the posts of each widget separately, and issues database queries only when needed. This will reduce the amount of database queries involved for each page load and will therefore be light on your server. If this clashes with other Plugins, you also have an option to disable it.
Posts By Tag Plugin provides a sidebar widget which can be configured to display posts from a set of tags in the sidebar. You can have multiple widgets with different set of tags configured for each one of them.
Each widget allows you to choose
To add the widget, log into your WordPress admin console and go to Appearances -> Widgets. You will find the widget with the title “Posts By Tag”. Drag and drop it in the sidebar where you want the widget to be displayed.
In addition to using the widget, you can also use the following template function to display posts from a set of tags, anywhere in the theme.
posts_by_tag($tags, $options);
The following options can be passed in the $options array
$tags
(string) – set of comma separated tags. If you leave this empty, then the tags from the current post will be used.$options
(array) – set of options. The following are the fields that are allowed number
(number) – default 5 – number of posts to displaytag_from_post
(bool) – default FALSE – whether to pick up tags from current post’s tagtag_from_post_slug
(bool) – default FALSE – whether to pick up tags from current post’s slugtag_from_post_custom_field
(bool) – default FALSE – whether to pick up tags from current post’s custom fieldexclude
(bool) – default FALSE – Where to include the tags or exclude the tagsexcerpt
(bool) – default FALSE – To display post excerpts or notexcerpt_filter
(bool) – default TRUE Whether to enable or disable excerpt filterthumbnail
(bool) – default FALSE – To display post thumbnails or notthumbnail_size
(string/array) – default thumbnail – Size of the thumbnail image. Refer to https://codex.wordpress.org/Function_Reference/get_the_post_thumbnail#Thumbnail_Sizesorder_by
(date,title, random) – default date – Whether to order by date or by title or show them randomlyorder
(asc,desc) – default desc – To change the order in which the posts are displayed.author
(bool) – default FALSE – To display author name or not.date
(bool) – default FALSE – To display post date or not.content
(bool) – default FALSE – To display post content or not.content_filter
(bool) – default TRUE Whether to enable or disable content filterexclude_current_post
(bool) – default TRUE – To exclude current post/page.tag_links
(bool) – default FALSE – To display link to tag archive page or not.link_target
(string) – default empty – target attribute for the permalink links.In addition to the above options the following options are available in the Pro addon
campaign
(string) – The Google Analytics campaign code that needs to be appended to every linkevent
(string) – The Google Analytics events code that needs to be appended to every linkYou can checkout some example PHP code that shows how you can call the template function with different options.
You can also include the following shortcode in your blog posts or WordPress page, to display the posts from the set of tags.
posts-by-tag tags = "tag1, tag2"]
All the parameters that are accepted by the template tag can also be used in the shortcode.
You can checkout some example shortcodes that shows how you can use the shortcode with different options.
You can also specify the tags for each post or page and a custom title using custom field. The UI for the custom field is available on the right side of the add/edit post/page screen in WordPress admin console.
The Plugin adds the following CSS classes. If you want to customize the look of the widget then can change it by adding custom styles to these CSS classes and ids.
UL
tag has the class posts-by-tag-list
LI
tag has the class posts-by-tag-item
LI
tag also has all tags names to which the post belongs as part of the class attributeLI
tag also has the id posts-by-tag-item-{id}
, where id is the post id.<a>
tag inside LI
that contains title has the class posts-by-tag-item-title
.If you want to output categories of the post as class names(so that you can style them differently), then you can get the code from this forum thread.
If you are using the widget, then the Plugin automatically caches the db queries. This will greatly improve the performance of you page. If this clashes with other Plugins or if you want to manage the cache yourself, then you disable the cache if needed.
However if you are going to use the shortcode or the template directly, then you might have to cache the output yourself.
The development of the Plugin happens over at github. If you want to contribute to the Plugin, fork the project at github and send me a pull request.
If you are not familiar with either git or Github then refer to this guide to see how fork and send pull request.
If you are looking for ideas, then you can start with one of the following TODO items 🙂
The following are the features that I am thinking of adding to the Plugin, when I get some free time. If you have any feature request or want to increase the priority of a particular feature, then let me know by adding them to github issues.
The pot file is available with the Plugin. If you are willing to do translation for the Plugin, use the pot file to create the .po files for your language and let me know. I will add it to the Plugin after giving credit to you.
This Readme file was generated using wp-readme, which generates readme files for WordPress Plugins.
Extract the zip file and just drop the contents in the wp-content/plugins/ directory of your WordPress installation and then activate the Plugin from Plugins page. You should see a new widget called “Tag Posts” in the widgets pages, which you can drag and drop in the sidebar of your theme.