Notice on Old Posts
Warns readers at the top of posts older than a set number of years that the information may be out of date.
Opens WPIDE on
Code
// Posts older than this many years get the notice.
$wpide_old_post_years = 2;
// Message shown; %s becomes the age of the post.
$wpide_old_post_message = 'This article was published %s ago, so some details may be out of date.';
add_filter( 'the_content', function ( $content ) use ( $wpide_old_post_years, $wpide_old_post_message ) {
if ( ! is_singular( 'post' ) || ! in_the_loop() || ! is_main_query() ) {
return $content;
}
$published = (int) get_post_time( 'U', true );
if ( ! $published || $published > strtotime( '-' . absint( $wpide_old_post_years ) . ' years' ) ) {
return $content;
}
$notice = sprintf( $wpide_old_post_message, human_time_diff( $published, time() ) );
return '<p class="wpide-old-post-notice" style="padding:.75em 1em;background:#fcf9e8;border-left:3px solid #dba617;color:#1d2327;">' . esc_html( $notice ) . '</p>' . $content;
}, 20 );
Notes
Change the age in years and the message; %s is replaced with the age, such as "3 years".
How to add this snippet
- Install WPIDE on your WordPress site (it is free) and open Code Snippets.
- Use snippet above adds it from the library in one click. Or copy the code into a new snippet with the same code type.
- It is added inactive: review the code and settings, then switch it on.