EffortLess Timeline Posts

Descripción

Creates a custom post type “Timeline” with date/year meta, categories, and shortcode [timeline] for chronological display. Supports full dates, durations, custom labels, year-only mode. Admin columns sortable by date/year.

Usage

  • Full Date: Set start/end, optional custom display.
  • Year Only: Large year display.
  • Sorted automatically by _sort_timestamp.

Instalación

  1. Upload plugin folder to /wp-content/plugins/.
  2. Activate via Plugins menu.
  3. Add entries under “Timeline” post type.
  4. Use [timeline] shortcode in pages/posts.

Attributes: limit (default -1), category (slug), order (ASC/DESC).

Reseñas

No hay reseñas para este plugin.

Colaboradores y desarrolladores

Este software es de código abierto. Las siguientes personas han contribuido a este plugin.

Colaboradores

Traduce “EffortLess Timeline Posts” a tu idioma.

¿Interesado en el desarrollo?

Revisa el código, echa un vistazo al repositorio SVN o suscríbete al registro de desarrollo por RSS.

Registro de cambios

1.0.32

  • WordPress 7.0 update

1.0.31

  • Fix: completed eltlp_ prefix rename — settings page HTML form attributes (id, name, for) and color-picker CSS class were still using etp_ prefix; all updated to eltlp_.

1.0.30

  • Security: replaced $_GET[‘post’] in admin_notices() with global $post object — no nonce required for a read-only post ID lookup.
  • Fix: renamed CPT to eltlp_timeline, taxonomy to eltlp_timeline_cat, shortcode to [eltlp_timeline], all option/transient keys to eltlp_ prefix, class to ELTLP_Timeline_Posts, constant to ELTLP_VERSION.

1.0.29

  • Fix: added inline phpcs:ignore on the constant and class declaration so Plugin Check suppresses PrefixAllGlobals warnings regardless of its prefix configuration.

1.0.28

  • Fix: constant renamed to EFFORTLESS_TIMELINE_POSTS_VERSION and class to Effortless_Timeline_Posts to match the slug-derived prefix that Plugin Check enforces.

1.0.27

  • Fix: renamed class to EffortLess_TimeLine_Posts; updated phpcs.xml to declare ELTLP_ and EffortLess_TimeLine_Posts_ as valid prefixes.

1.0.26

  • Fix: renamed version constant to ELTLP_VERSION and updated phpcs.xml to declare eltlp_/ELTLP_ as the canonical plugin prefix.

1.0.25

  • Fix: renamed constant ETP_VERSION EFFORTLESS_TIMELINE_POSTS_VERSION and class EffortLess_Timeline_Posts Effortless_Timeline_Posts to satisfy WordPress.NamingConventions.PrefixAllGlobals.
  • Code: added phpcs.xml with explicit prefix configuration so local PHPCS enforces the same rule.

1.0.24

  • Code: rewrote timeline-script.js to pass WordPress PHPCS standard (tabs, multi-line call formatting, @package tag, period-terminated inline comments).

1.0.23

  • Improvement: “Show Era Boundary” toggle — displays a styled divider line between BC and AD entries on the timeline.
  • Improvement: “Era Terminology” radio — choose BC/AD (traditional) or BCE/CE (modern). Applies to year labels and the divider.

1.0.22

  • Improvement: Settings > “Show Year Labels” toggle — uncheck to hide the year column and display a compact full-width timeline.
  • Improvement: any change to a plugin setting now automatically busts the shortcode transient cache.

1.0.21

  • Improvement: year field now accepts BC dates (-9999 to 9999). Enter -2580 for 2580 BC.
  • Improvement: BC years display as “2580 BC” on the timeline and in admin columns.
  • Fix: negative years were stripped to positive by absint(); now uses intval() to preserve sign.
  • Fix: sort timestamp falls back to year × 31 557 600 when strtotime() cannot parse ancient dates.

1.0.20

  • Improvement: “Show Today” toggle in Settings — displays a hollow marker at today’s date position, sorted correctly among all entries. Works even with no real entries. Bypasses transient cache while active.

1.0.19

  • Fix: entries dated exactly 1970 (Unix epoch, timestamp = 0) were incorrectly filtered out and never displayed.

1.0.18

  • Improvement: added Settings page under Timeline menu with shortcode reference (all attributes, defaults, examples) and existing categories with ready-to-use shortcodes.
  • Improvement: color pickers on Settings page let admins change the timeline line color and dot color without editing CSS.

1.0.17

  • Fix: replace named global function in uninstall.php with call_user_func closure to eliminate global namespace warnings.

1.0.16

  • Fix: wrap uninstall logic in a prefixed function to avoid global variable scope warnings.

1.0.15

  • Fix: removed load_plugin_textdomain() — WordPress auto-loads translations since 4.6.
  • Fix: prefixed global variables in uninstall.php to avoid namespace collisions.
  • Fix: added phpcs:ignore for the_content core hook (not a custom hook).
  • Fix: updated “Tested up to” to WordPress 6.9.

1.0.14

  • Improvement: CSS and JS now load only on pages that use the [timeline] shortcode.
  • Improvement: activation and deactivation hooks flush rewrite rules so CPT slugs work immediately.
  • Improvement: added uninstall.php to clean up plugin meta keys and transients on deletion.
  • Improvement: meta fields registered via register_post_meta() for REST API and block editor access.
  • Improvement: shortcode output cached with transients; cache busts automatically on save or delete.
  • Improvement: recursion guard prevents infinite loop if [timeline] appears in an entry’s content.
  • Improvement: new heading shortcode attribute (h2–h6) for correct document outline control.
  • Improvement: timeline wrapper gets role=”region” and aria-label; marker gets aria-hidden; articles get aria-label.
  • Improvement: admin notices shown when date/year fields are silently cleared by validation.
  • Improvement: featured image (thumbnail) added to CPT supports.
  • Improvement: menu_position changed from 5 (conflicts with Posts) to 20.
  • Improvement: generated languages/effortless-timeline-posts.pot for translators.

1.0.13

  • Security: validate year_only as integer clamped to 1900–2100 (server-side).
  • Security: reject full_date/end_date that don’t match YYYY-MM-DD format.
  • Fix: format_date() returns empty string instead of “January 1, 1970” for invalid dates.
  • Fix: correct phpcs:ignore sniff name on virtual stylesheet handle.

1.0.12

  • Fix: allowlist _date_type values to prevent arbitrary meta storage.
  • Fix: guard strtotime() return value before writing timestamp/year meta.
  • Fix: apply category filter before limit so limit counts filtered results.
  • Fix: admin sort direction now respects the URL order parameter.
  • Fix: shortcode output wrapped in .timeline-dotcom container (CSS max-width was broken).
  • Fix: prime post meta cache before loop (single DB query instead of N×6).
  • Fix: load plugin textdomain so translations work.
  • Fix: move meta box inline CSS and JS to properly enqueued handles.
  • Fix: use ETP_VERSION constant for asset versioning.

1.0.11

  • Code: fix all PHPCS WordPress standard violations (tabs, alignment, short ternary, globals, comment style).

1.0.10

  • Initial release.