One Finite Planet

Page Updates: OFP Posts WordPress plugin, why updates matter, and how to find them.

First Published:

Table of Contents

I am an analyst, not a journalist, which means the focus of this site is analysis. Journalists, with the word 'jour' at the start of their title, present pages which will normally be in their final correct form from day one. Analysis is very different. Many topics analyses continue to evolve, and while a report on what happened at a point in time should remain intact, analysis should continually be updated to reflect current, rather than now outdated conclusions. Updates are essential for information to remain relevant.

How to know whether a page is worth reading again after an update?

The internet has a lot of old pages that become out of date, and much of what I write requires updating as thoughts, and the planet, evolves.

With a blog style approach, the author simply produces a new page with the updated content, and anyone who is a regular follower can simply read ‘the latest’. But search engines will still often link to the older content, so many people are presented the old information.

Instead, I update the one page, which means everyone gets the latest version. The trap is, anyone who was previously interested, may be interested to in what is updated. Is it worth re-reading or not? Plus, what has been updated?

To solve this, all pages now have an update log, linked from the page header. Any minor update that is not worthy of a note on the update, is ignored, and the updated date only reflects entries in the updates log.

The challenge with updated web pages, becomes how to convey just what has been updated. I make typos. Even worse, there are times when proof reading was seriously needed. But this type errors being fixed is hardly a reason for a person re-read the analysis.

Only when something seen as significant has been updated is it time to flag the analysis as updated. This is now in place. While older pages do not all yet contain a date of last update, every significant new revision now flags a date of update, and information not yet significant, now leaves the “Updated on” unchanged.

There is now a page on the site, listing all pages by the date of the most recent meaningful update.

How to find what it is that was updated?

After discarding several earlier ideas, I settled on a list of ‘updates’ at the bottom of each page.

Clicking on the “Latest Update:” label next to the date at the top of any page with updates, jumps directly to the list of updates for that page. The list of updates will reveal the nature of each update.

Each update in the list of updates, can provide a link(s) to the section(s) updated. If a page is heavily revised, there may be no links as it has been updated. Each new update adds a new entry to the list, so over time there will be a chronology of updates.

Not all pages get updates.

I also have pages which do not get updates. These include:

  • Predictions: obviously not all predictions will be correct, and in fact it is more interesting when they are not, and to look at why not.
  • Journalism style pages, which mostly contain information about a point in time that other pages can then reference, particularly when direct links to external references may not survive over time.

For the WordPress people: How does this all work.

I tried the looked at the wp-last-modified-info plugin. This allowed creating a new date as ‘wp-last-modified-info’ which is separate from the WordPress ‘post_modified’ date, but I could not sort posts by this date, plus it added the complexity of a custom field.

I tried the ‘recent-post-widget-extended’ plugin, and this was useful and correctly identified the problem, but with two problems from my perspective:

  • There was no way to indicate to a reader what was updated. I considered a custom field for ‘last update reason’, but it became complex to try to maintain a list, and it was not obvious how the plugin could display such data.
  • It could sort and display the ‘post-modified’ date, but not the ‘wp-last-modified-info’ date, which mean even a typo correction, would push a post to the top of the last modified list, even though it would not justify re-reading the post.

In the end, the best solution became to build my own plug-in. With the plus in, simply keep a list of updates that each begin with a free form date following heading or other element with a chose id value, and the date of the latest update can automatically be displayed, and posts can be displayed in update sequence.

This plug-in has two short-codes.

One short-code to display the first date in the list of updates as the update date.

The second short-code is to display, in a similar way to an enhanced version of ‘recent-post-widget-extended’ plug-in, the list of recent posts, with the option of being sorted by the date from the updates list, and displaying a specified number of entries from the updates list for each post.

Please let me know if interested in this plug-in. If people are interested, I will make it available.

The OFP-Posts Plugin.

The need.

There are several plugins to display posts, but here were the limitations I found. Perhaps there are solutions out there, but if there are, I could not find them.

My two main needs are:

  1. A page with a list of all posts, sorted by the date most recently significantly updated, together with the nature of the significant update, so a reader can determine what has been changed, whether to re-read, and if so what to re-read.
  2. Index pages, that work for any, and all, categories, displaying not only show a list of entries for the category, but able to automatically display a post excerpt as a full introduction of the category being displayed, as well excepts and links to subcategories.

The means my feature needs became:

  1. list posts by a controlled modified date, without trivial typo updates promoting largely unchanged posts
  2. ability to display in posts listing information on what was updated, a
  3. filter by categories and/or taxonomies using slugs rather than IDs to specific categories and taxonomies
  4. allow filter by either current category, and/or children of current categories, for use in archive category pages.
  5. support maintaining a log of updates to posts

Other Plugins I Tried.

I tried several other plugin, and for me, the OFP_posts plugin replaced all of them, but these clearly provide great solutions for problems a little different than mine, so these are worth considering.

PluginWhat it doesWhen it may be preferredWhy it was not perfect for my use
WP Last Modified Infoshortcode for showing last modifiedspecific to the taskI needed last significantly modified date.
Recent posts widget extendedmore flexible than standard post widgets.Has widget, not just shortcode , with GUI front endDid not meet my needs 1,2,3,4 or 5
Ele custom skinallows creating layout for post entries when used with most posts widgetGreat UINot quite flexible enough for my needs and did not provide for all data I display. Plus- it kills infinite scroll option that is normally available unless you move to the pro version to restore that feature.
Meta boxMany features, including adding custom fields support.When custom fields are required per post, rather than a list of updates per post.I found custom fields were not the best way to include a log of updates with posts.

Instructions.

Currently, the plugin is simple and purely supports the use of short codes, with no configuration or admin pages. It has been tested using Gutenberg and Elementor pages.

See the ‘Updates’ list at the base of this page for an example of how to provide a list of updates. The ‘id’ of a tag preceding the list needs to be set, and provided as the ‘updates_id’ parameter. The format of dates is somewhat flexible, and accepts Month Day Year or Year Month Day, but currently prefers the month as alpha.

posts shortcode.

[ofpposts <options>]

limit
  Limit to the number of posts, defaults to 5, 0= no limit
offset
  Number of posts to skip, defaults to 0
order
  ASC (Ascending)  DESC (Descending) defaults to DESC
orderby
  defaults to 'date' but I mostly use 'date_modified', so this has also been verified to work

cat
  defaults to an empty string, which means do not filter by category.
  Otherwise can be a list of 'slugs' of categories, separated by commas.
  Or, in place of 'slugs', the list can instead include any combination of the following special entries.
  '/' matches all top level categories.
  '^' matches the parent of the current category.
  '*' matches the current category of the page or archive.
  'v' matches the direct subcategories of the current page or archive.
  'V' matches the all subcategories, and their subcategories, for the current page or archive

tag
  not yet tested, avoid for now, or ask.

taxonomy
  List of '<taxonomy-slug>=<sluglist>' of categories, separated by commas, prefix sluglist with a '-' to exclude instead of include.

post_type
  defaults to 'post'

post_status
  defaults to 'publish'

ignore_sticky
   defaults to 1, which means 'yes'

include_current
   defaults to 0 to exclude the current post, 1 for include

show
  comma separated list of what to display.
  "thumb,title,dates,updates,excerpt" is my usual, but 'comments' is also supported.
   

thumb
  width of thumbnail as either a percentage(include the %) or as a pixel count.


excerpt
  length of excerpt in word.

updates_id
  id of heading of other tag preceding update list. default = 'updates',

updates_count
  number of updates to list, default = 2, use negative number to for list to precede excerpt.

date_label
  label string for date, use empty string for no date 

date_relative
  same rules as 'date label' for date relative to today

date_modified
  same rules as 'date label' for date modified

'css'
  css string, preceed by '+' to add to default css

Updates.

  • Aug 16, 2022: plugin 0.2 added ‘/’ and ‘^’ to categories.
  • July 17, 2022: Not a real update, but just to provide an example of how an update list is made, note the ‘id’ updates heading is needed for listing updates.

Comment?