Very excited to launch my latest WordPress plugin, REST Pro Tools. This is the premium/pro version of the free plugin hosted at WordPress.org, Disable WP REST API. The free version is very basic and does exactly what it says: disables the WP REST API, no options just activate and done. But some users wanted more features, like denying access to specific routes while allowing others. So I packed the pro version with all of the REST API tools most requested [ā¦] Continue reading Ā»
Simple Download Counter (SDC) version 2.3 features a very basic API that returns the number of times a specified file has been downloaded. For lack of a better name, I call it the āMicro APIā. This tutorial explains how it works, and provides a real-world example showing how to use it. Continue reading Ā»
My free WordPress plugin, Blackhole for Bad Bots, and the pro version, Blackhole Pro are not compatible with cache plugins. This is stated on the plugin home page, installation page, support page, readme.txt, documentation, plugin settings page, help tab, and just about every other possible location. Continue reading Ā»
shapeSpace is the WordPress starter theme that I use to build sites like Perishable Press, Plugin-Planet.com, Digging Into WordPress, .htaccess made easy, and WP-Mix.com. I enjoy using shapeSpace because it includes all of the most commonly used template tags and outputs a minimal amount of clean markup. shapeSpace includes a robust set of custom functions within a lightweight set of template files. shapeSpace is a Classic WordPress Theme that balances simplicity with utility, flexibility, and performance. In a nutshell, the [ā¦] Continue reading Ā»
So yesterday I got a new phone and could not log in to my account at WordPress.org. Why? Because I had enabled Two-factor authentication (2FA) on my account as an extra layer of security. I had been completing this 2FA step on my old phone using the Google Authenticator app, which works great. The problem is that I had not yet transferred my Authenticator codes to my new phone. So when I tried to log in to my WordPress.org account, [ā¦] Continue reading Ā»
Was thinking of the things that are absolutely essential for my line of work, at least for my own operation working with WordPress and web development. Not so much the technical and code side of things, but more of the āmetaā or ābig pictureā type of stuff. Some are simple and others require a bit of explanation. Some are specific to working on the Web, and some probably would apply to any line of work. But I am a web [ā¦] Continue reading Ā»
Lately my some of my WordPress-powered sites have been hit with a very specific brand of comment spam, which may be referred to as ādarknet market spamā. The spam is simple but persistent. And thereās a LOT of it. Very annoying. Fortunately it is trivial to stop. Here are a few ways to block teh darknet market spam.. Continue reading Ā»
Super pumped to finally launch Head Meta Pro! This is the premium/pro version of the free plugin hosted at WordPress.org, Head Meta Data. While the free version is great and serves many sites, there are more features that I wanted to add, like complete support for all the different page-views generated by WordPress. So with the free version, you can define one set of meta tags for the entire site. With the pro version, you can define unique sets of [ā¦] Continue reading Ā»
Iāve written before about how to protect WordPress XML-RPC and why itās important. In this quick post, I explain three easy ways to to disable WordPress XML-RPC to help improve the security of your WordPress-powered site. Continue reading Ā»
Quick tip for my free WordPress plugin, Simple Download Counter. SDC is optimized for successful downloads in most server environments, but there always is an exception to the rule. For example, on some servers, a downloadās content-length header may be calculated incorrectly for GZIP and possibly other file formats. This tutorial explains how to define your own headers for downloads when using Simple Download Counter, so you can dial in perfect downloads for any server configuration. Continue reading Ā»
This is a quick post following from the latest redesign of my WordPress plugins website, Plugin Planet. There, I make use of WordPress great query functionality to display archives of multiple categories. For example, here is the combined archive for BBQ Pro and Docs. So that category archive displays all documentation posts for BBQ Pro. Likewise for other categories, for example here is the combined archive for Banhammer Pro and Tutorials. That category archive displays all tutorial posts for Banhammer [ā¦] Continue reading Ā»
BBQ Firewall is built to be powerful, lightweight, fast and flexible. Itās code base is kept super lean, leaving extra functionality out of core while supporting new features via simple addons. For example, this tutorial shows how to use an addon to display the total number of blocked HTTP requests on the plugin settings page. This can help you get a basic idea of the pluginās effectiveness. Continue reading Ā»
My free WordPress plugin, Disable WP REST API, disables the REST API for all users who are not logged in to WordPress. So if youāre using a plugin such as Contact Form 7 that requires the REST API, itās not going to work if Disable WP REST API is active on site. But there is a way to make it work. This quick tutorial explains how to set it up in two steps. Continue reading Ā»
Recently WordPress sites have been getting hammered with random-string comment spam. The attackers are clever, using random text strings for every vector except the payload, which usually is the URL used for the commentās Name link. But for these weird comment spams, the apparent payload is the email address. Itās the only part of the comment thatās not made up of random gibberish. Continue reading Ā»
It seems that the WordPress function, get_comments_number(), is not working correctly. It is returning inconsistent results for posts with zero comments, pingbacks, or trackbacks. Sometimes the function returns true, other times false. Itās just random, from what Iāve been able to tell. So maybe a bug, or maybe something I am missing. Not a big deal, just looking for clues.. Continue reading Ā»
In WordPress themes and plugins, the Loop is used to display posts on the front end. Typically the Loop displays either a single post (like when youāre viewing a blog post), or multiple posts (like when youāre viewing a category archive). Things get more tricky however, when you want to display posts on a page. Continue reading Ā»
Perishable Press is operated by Jeff Starr, a professional web developer and book author with two decades of experience.
Here you will find posts about web development, WordPress, security, and more Ā»