Posts By Tag
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. Features Sidebar Widget 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 The set of tags from where posts should be selected (or excluded) The number of posts to be displayed. Whether to pick the tags from current post Whether to pick the tags from current post slug Whether to pick the tags from current post’s custom field Option to enable post excerpts to be displayed with post titles. Option to display post thumbnail if present. Option to display post author. Option to display post date. Option to display post content. Choose the order in which the posts should be displayed. Option to exclude current post/page. Option to specify the target attribute for links Option to display links to tag archive pages. Option to disable the cache if needed. Option to enable Google Analytics tracking on the links 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. Template function 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 display tag_from_post (bool) – default FALSE – whether to pick up tags from current post’s tag tag_from_post_slug (bool) – default FALSE – whether to pick up tags from current post’s slug tag_from_post_custom_field (bool) – default FALSE – whether to pick up tags from current post’s custom field exclude (bool) – default FALSE – Where to include the tags or exclude the tags excerpt (bool) – default FALSE – To display post excerpts or not excerpt_filter (bool) – default TRUE Whether to enable or disable excerpt filter thumbnail (bool) – default FALSE – To display post thumbnails or not thumbnail_size (string/array) – default thumbnail – Size of the thumbnail image. Refer to https://codex.wordpress.org/Function_Reference/get_the_post_thumbnail#Thumbnail_Sizes order_by (date,title, random) – default date – Whether to order by date or by title or show them randomly order (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 filter exclude_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 link event (string) – The Google Analytics events code that needs to be appended to every link You can checkout some example PHP code that shows how you can call the template function with different options. Shortcode 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. Custom field 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. Styling using CSS 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. The UL tag has the class posts-by-tag-list Every LI tag has the class posts-by-tag-item Every LI tag also has all tags names to which the post belongs as part of the class attribute Each LI tag also has the id posts-by-tag-item-{id}, where id is the post id. Each 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. Caching 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. Development and Support 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 🙂 TODO 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. Provide template tags for widget title, that will be dynamically expanded. Add support for custom post types Ability to sort posts alphabetically Ability to exclude posts by id Ability to show comment count Ability to retrieve posts by date range Ability to pull posts randomly. – Added in v3.0 Support If you have found a bug/issue or have a feature request, then post them in github issues If you have a question about usage or need help to troubleshoot, then post in WordPress forums or leave a comment in Plugins’s home page If you like the Plugin, then kindly leave a review/feedback at WordPress repo page. If you find this Plugin useful or and wanted to say thank you, then there are ways to make me happy 🙂 and I would really appreciate if you can do one of those. Checkout other WordPress Plugins that I have written If anything else, then contact me in twitter. Translation Swedish (Thanks Gunnar Lindberg Årneby) Turkish (Thanks Yakup Gövler) Belorussian (Thanks FatCow) German (Thanks Renate) Dutch (Thanks Rene) Hebrew (Thanks Sagive SEO) Spanish (Thanks Brian Flores of InMotion Hosting) Bulgarian (Thanks Nikolay Nikolov of [IQ Test) Lithuanian (Thanks Vincent G) Hindi (Thanks Love Chandel) Gujarati (Thanks Punnet of Resolutions Mart) 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. Readme Generator This Readme file was generated using wp-readme, which generates readme files for WordPress Plugins.
SpinupWP
This plugin ensures that the SpinupWP page cache is cleared when your site’s content changes. Not using SpinupWP yet? Sign up here. SpinupWP is a modern server control panel that’s here to help you implement best practices for every server you spin up. Designed for WordPress. This companion plugin should be installed on sites created using SpinupWP to allow the page cache to be cleared when your site’s content changes. Not using SpinupWP yet? Sign up here. Any Provider We support DigitalOcean, Linode, AWS, and any other provider. If your server has an IP address, you can connect SpinupWP. It does need to be a fresh install of Ubuntu though. Latest & Greatest Software SpinupWP will install the latest stable versions of Nginx, PHP, MySQL/MariaDB, and Redis from the standard apt-get repos. No who-knows-what-they-did custom builds of packages. Disconnect from SpinupWP in the future and you can still keep your packages up-to-date with apt-get upgrade. Automatic Security Updates SpinupWP will configure your server to install security updates as soon as they are available to reduce the likelihood of a software vulnerability putting your server at risk. Free SSL/TLS Certificates Serving your site over HTTPS is essential these days, not only for security, but to take advantage of the performance improvements of HTTP/2 as well. When you add a site to SpinupWP, a free Let’s Encrypt SSL/TLS certificate will be acquired, installed, and configured for your site. And SpinupWP will handle certificate renewals as well, so you hardly need to think about certificates. Cache All the Things One of the keys to a great performing WordPress site is caching. All sites are set up with Redis object caching to greatly reduce database requests. And with the check of a box you can enable full-page caching to serve pages lightning fast without even hitting PHP. Git Push-to-Deploy Developers! Developers! Developers! Add a git repository to your SpinupWP site and simply push to master to deploy your code. GitHub, Bitbucket, or a custom git repo will work. You can also configure a build script to run some tasks on the server after deployment is complete. Error Logs WordPress doesn’t enable error logging by default. Probably because the log is saved to a publicly accessible directory and can quickly balloon to take up a lot of hard drive space. SpinupWP enables error logs by default but stores them in a safe place and makes sure they’re rotated regularly like other server logs. Security Security Security Each server provisioned by SpinupWP is security-hardened from the word go. SSH login is disabled for the root user (you login with your user and use sudo instead). The firewall only allows connections to Nginx and SSH and failed attempts are monitored and blocked when the reach a threshold. Nginx is configured to defend against XSS, clickjacking, MIME sniffing, and other attacks. Software security updates are installed automatically. Scheduled Posts Published on Schedule For every site you add via SpinupWP, a server-side cron job will be configured to make sure that your WordPress site’s cron is executed every minute, as it should be. WP-CLI Preloaded If you love WP-CLI (we do! ❤) you’ll be very pleased to find it available on the command line the first time you login to your server. Security Isolation for Sites For each site that you add to your server via SpinupWP, a new system user is created for that site. All site files are owned by the site user and a PHP-FPM pool is configured to run as that user as well. Each site only has access to its files and so if only one site has a security vulnerability and gets infected with malware for example, only the files for that one site can be infected. SFTP Access for Your Clients If you’re hosting a site for someone else, you can easily give them SFTP/SSH access to just that site. And because of the security isolation between sites, they will only have access to files for that site. Professional Guidance & Best Practices SpinupWP will actively point you in the right direction and offer suggestions for maintaining your server. And because it provides detailed feedback about the operations it runs on your server, you can learn what is happening with your server. New release of Ubuntu just came out, should I upgrade? We’ll add a notice to the app about that, why we don’t recommend upgrading your existing servers, and how you can spin up a new server with the new release of Ubuntu and migrate your sites to that server instead. Should I install Varnish to improve page caching performance? We’ve benchmarked Varnish and Nginx FastCGI Cache performed better. Varnish would add complexity too, so one less moving part is another reason. Much of the time SpinupWP will suggest things that you may not have even thought of. Email deliverability for example. SpinupWP will strongly encourage you to configure an email sending plugin for the best email deliverability. SpinupWP’s guidance is especially helpful for those new to managing a server, but can also help those who’ve been at it a while, providing transparency to our decisions. Scheduled Backups of Site Files & Database All server providers (DigitalOcean, Linode, etc) offer automated backups of your entire server for a fee. These services are great and we highly recommend having backups of your whole server. But what happens if some media or data was deleted by accident from your WordPress site? You’re not going to restore your entire server just to get that data back. That’s where site backups come in. Site backups are full backups of your site files (media, themes, and plugins) and database. They allow you to easily restore a single site or just some files or data from a single site. With SpinupWP’s site backups, you choose your preferred provider to stash your backups whether that’s Amazon S3, DigitalOcean Spaces, or Google Cloud Storage. You plug in your account details and SpinupWP will send your site backups there in an easy-to-see format. Teamwork Makes the Dream Work Create a new team account, invite a member of your team, and allow them to spin up their own servers. Or just only allow them to add sites, the permissions you give them is up to you. Features Page cache purging Persistent object caching Ensures debug.log files aren’t saved in a publicly-accessible location