Here’s a WordPress plugin that will allow you to feature a single item in a widget, until you tell it to automatically expire.
As taken from the
Simple widget to display (promote) a specific post/page. Provides a list of from all public post types to choose an entry to promote until a specified date. When this “promotion” expires, you can either display a static message or use another post/page instead.
- Upload the plugin folder to your plugins directory
- Activate the plugin through the ‘Plugins’ menu in WordPress
- Add the Widget “Promoted Content” to a sidebar
Frequently Asked Questions
What are the options?
- Title: The displayed widget title – leaving it blank will use the post title (if you override the default, see Hooks)
- Feature Expires: until what date (YYYY-MM-DD) to show the promoted post; after which fall back to the default
- Feature Post: choose from the dropdown of public post types to promote
- Default: display this entry instead after the expiration
- Trim summary to: if no excerpt is provided, shorten the post content to this number of words
Note that you can select the most recent post from the dropdown options.
How can I change the defaults?
If you don’t specify certain options, the widget will use builtin defaults. Override these with the following hook:
YOUR_HOOK is a function that takes an array and returns the following settings:
#’title’ => ‘Latest From MY SITE’, // disable to use post title
‘display’ => ‘Check out our new video! Credit goes to … <p><a class="archive" href="/category/news">News Archive</a></p>’,
‘url’ => ‘#’,
‘image’ => ‘<img src="’ . get_stylesheet_directory_uri() . ‘/images/g_video.jpg" alt="Latest from MY SITE">’,
What else can I use?
Two static methods are available for “embedding” the widget in code – basically just the internal processing used by the widget function.
abtcore_feature_widget::display_promo($args, $before_title, $after_title)
which uses the following
to get either the promoted post or the default.
$args will contain an array of the widget options (
get_promo will return an array of (
display_promo where it gets combined with the defaults from the hook to output the widget HTML.