Skip to content

v1.7.0

Choose a tag to compare

@davidofchatham davidofchatham released this 20 May 14:46
· 770 commits to main since this release

Added — Link wrapping for text/title/datetime tags

  • linkTo / linkKey / newTab options on text, title, datetime_single, datetime_range (base tags, term_ modifier tags, and try_ variants). Excluded: content, permalink, image.
  • linkTo values: permalink (entity permalink) or key (URL from linkKey meta field). Unset = no link.
  • newTab presence-flag: adds target="_blank" rel="noopener noreferrer" when set.
  • Link options appear after fallback text in each template's option list.
  • Link wrap applied after fallback resolves; empty linkKey or unresolvable URL skips wrapping without affecting tag output.
  • try_ tags: single linkTo/linkKey applies to the winning slot's entity (post or term). No per-slot link key.
  • term_ modifier tags: entity type routed automatically (term for base-source dispatch; post for src:ref dispatch; term for srcTermIn hop).
  • New helpers in content-helpers.php: bws_resolve_link_url(), bws_wrap_with_link(), bws_get_link_options(), bws_map_gb_link_option().
  • Editor preview labels for link-eligible templates now annotate the configured link destination (e.g. [Title (link: permalink)]) and wrap the bracket string in <a href="#"> so the link treatment is visible in the block editor even when the tag can't resolve a real value.

Changed — Docs

  • docs/tag-matrix.md renamed to docs/tag-reference.md; title updated to "BWS Dynamic Tags — Tag & Option Reference". All cross-links updated.
  • linkTo meta-field destination token renamed 'meta''key' for consistency with the plugin-wide key convention. Saved tags using linkTo:meta will not be present in the wild (v1.7.0 not yet released).

Fixed — Migration: link option remapping for deprecated tags

  • related_post_content transform_callback now maps old link_to/link_field/new_window options → linkTo/linkKey/newTab. Previously these were silently dropped. Content/excerpt migration targets still drop link options (content tag excluded from link wrap).
  • Six deprecated tags that had GB-native link support (related_post_title, related_post_custom_text, post_term_title, post_term_custom_text, term_related_post_title, term_related_post_custom_text) now remap link:postlinkTo:permalink, link:post_meta,<key>linkTo:key|linkKey:<key>, link:termlinkTo:permalink. Other GB link destinations (author_archive, author_meta, author_email, comments) dropped (no equivalent). Handled via gb_link_remap flag added to MigrationRegistry::run_transform().

Fixed — Migration: related_post_content transform and preview label

  • related_post_content was a multi-field tag in the original (pre-N×M) codebase whose target_field option selected what to extract (post_title, post_content, post_excerpt, custom). The migration entry incorrectly mapped all instances to {{content}} regardless of target_field. Now branches correctly: post_title/absent → {{title src:ref|ref:…}}; post_content{{content src:ref|ref:…}}; post_excerpt{{content src:ref|ref:…|use:excerpt}}; custom{{text src:ref|ref:…|key:{custom_field}}}. Both key and rel accepted as the relationship field (old tag used key).
  • MigrationRegistry::transform_tag(): added transform_callback support — when a registry entry includes a transform_callback callable, it is invoked instead of run_transform(), enabling branching transforms that can't be expressed as rename maps.
  • bws_build_deprecation_preview_label(): strip GB-injected tag_name key from $options before reconstructing the tag string for migration preview. GB's parse_options() always prepends tag_name to every callback's options array; without this strip, every deprecated tag preview included a spurious tag_name:… option in the suggested replacement.