There Can Be Only One Plugin
Ensures that there is only one published sticky post on the site at any given time.
This plugin ensures that there is only one sticky post published to the site. When a new sticky post is published, previous the ‘sticky’ flag is removed from any other posts, so they will no longer appear at the top of your page.
Important Notes
- I adapted code initially found at http://craiget.com/one-sticky-post-in-wordpress/ Thanks to Craige for posting it! Also, Devin Price (http://wptheming.com/) was immensely helpful as I knocked out a couple of issues regarding scheduled sticky posts.
- The first time you publish a sticky post after enabling this plugin, any and all other sticky posts will be changed to not-sticky. There is not a way to automatically reverse this decision, nor is their a log of which posts were changed.
- This plugin has not been tested with versions of WordPress prior to 4.0.
- Do not use this plugin if you are using another to manage per-category sticky posts. It has not been tested with that setup, and it will most likely mark all of those posts as non-sticky.
Installation
- Extract the single-sticky/ folder file to /wp-content/plugins/
- Activate the plugin at your blog’s Admin -> Plugins screen
- Publish a new post that is marked as being sticky.
FAQ
How does the plugin treat scheduled posts?
If you have a sticky post visible on the site and you schedule a new sticky post, the old one will stay sticky until the new one is published and visible on the site.
How does this work with plugins that set sticky posts per category?
Sorry, the short answer is “I don’t know”, as I haven’t tested it with any of those plugins. My expectation is that all of those sticky posts will be set to non-sticky the first time a new sticky post is published after this plugin is activated. I recommend you avoid this situation, but if you decide to try it, I’d love to hear the results.
Changelog
1.0
- A quick fix that resolved an issue where posts that were made sticky after they were published weren’t caught, causing more than one post to be set to sticky. Thanks to Jeff Chandler for surfacing this issue.
- I feel pretty good about the state of the plugin, so bumping it to a full 1.0 release
0.9