WP Manifestindependent plugin directory
manifest / content / smp-publication-integration

SMP Publication Integration

Publication profile integration for Scale My Publication systems.

by Michael Peres · github.com/mikeyperes/smp-publication-integration · website

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/mikeyperes/smp-publication-integration/archive/refs/heads/main.zip

Declares an update source (https://github.com/mikeyperes/smp-publication-integration/), so updates arrive through the plugin's own updater.

Readme

SMP Publication Integration

Editorial, publication-profile, article-type, authorship, design, and structured-data tooling for Scale My Publication websites.

Identity

  • Repository: mikeyperes/smp-publication-integration
  • Plugin slug: smp-publication-integration
  • Namespace: smp_publication_integration
  • GitHub branch: main
  • Version: 2.0.4

Ownership

SMP Publication owns publication-specific behavior:

  • Publication identity and publication article types.
  • Editorial features, article templates, breadcrumbs, summaries, FAQs, tables of contents, captions, and inline-photo treatments.
  • Multi-author assignment, bylines, author displays, and MuckRack verification.
  • Publication and article schema object construction.
  • Blog-like custom post types: knowledge-base and resources.

HWS Base Tools owns website classification, the optional primary entity, and the generic reading-progress feature. SMP consumes a canonical Publication or Organization entity from HWS and retains legacy publication-user settings only as migration fallback. Existing reading-progress values remain stored long enough for HWS Base Tools to migrate them without a direct database rewrite.

Custom Post Types

The Custom Post Types tab registers knowledge-base and resources through Hexa\PluginCore\ContentTypes. Each structure supports:

  • Enable/disable state.
  • Editable public rewrite slug.
  • Editable singular and plural labels.
  • Related ACF structure toggles with detailed field breakdowns.

The WordPress post-type keys remain immutable so existing content cannot be orphaned. SMP contains no runtime registration for the retired imported-news type.

Article Types

Article-type definitions remain the publication source of truth and feed editorial controls, templates, visibility rules, and schema. The plugin preserves existing stored article values and exposes them consistently to dependent renderers and schema builders.

Canonical Entity and Authors

When HWS has an optional primary Publication or Organization selected, SMP reads it through Hexa WP Core. If the selected source is a post, Core resolves the attached WordPress author and exposes the same user fields used by existing publication output.

Article-level multi-author assignments, primary authors, Elementor bylines, author archives, and fallback WordPress authors retain their previous behavior.

Schema

SMP constructs publication and article nodes; Hexa WP Core owns reusable schema normalization, deduplication, safe JSON-LD encoding, and output injection. FAQ schema uses the same shared FAQ source and renderer as visible FAQ output.

Rank Math coexistence, stable graph IDs, publication-logo fallbacks, article relationships, and author relationships must remain unchanged during upgrades. SMP replaces Rank Math schema only on the home and singular integration surfaces that already have an owning schema provider; ordinary pages, taxonomy archives, and post-type archives retain Rank Math's native graph.

Dashboard

The dashboard uses Hexa WP Core tabs, collapsible cards, dynamic controls, and activity logs. Major areas include:

  • Quick Start and publication profile.
  • Custom Post Types and article types.
  • Editorial features and article design.
  • Authors, templates, shortcodes, snippets, and schema.
  • Plugins, system checks, and plugin/Core update reporting.

Quick Start contains only the reusable checklist workflow and is the second tab.

Architecture

smp-publication-integration.php is the canonical plugin entry. initialization.php is a compatibility loader for older active-plugin records.

Namespaced domain code lives under src/. Reusable UI, AJAX, updater, CPT, ACF, entity, FAQ, schema, taxonomy, activity-log, color, typography, and template infrastructure comes from Hexa WordPress Plugin Core 3.0.1.

Elementor single-post recent-content loops opt into SMP publication filtering with the exact Query ID smpi_single_recent. Other Posts and Loop Grid widgets remain outside SMP query mutation.

Native non-editorial singular templates can opt out of article-content decoration and its DOM fallback through smpi_article_markup_enabled. The filter receives the saved feature state, queried object ID, and post type; it does not disable breadcrumbs, tables of contents, or other surfaces independently.

The plugin updater targets the repository's canonical main branch and registers Hexa\PluginCore\PluginUpdates\GitHubPluginUpdater directly.

Requirements

Requirement Minimum
WordPress 5.0
PHP 8.1
Hexa WP Core bundle 3.0.1

ACF Pro is required for publication option and content field groups. Feature-specific integrations require their corresponding plugins.

Installation

Install the repository as wp-content/plugins/smp-publication-integration and activate smp-publication-integration.php. Existing installations activated through initialization.php are handled by the compatibility migration.

Development

Run every focused regression file with:

for file in tests/*.php; do php "$file" || exit 1; done

The suite covers navigation, article defaults, article/FAQ output, authorship, templates, colors, typography, breadcrumbs, content types, schema fallbacks, and updater configuration.

Changelog

2.0.4

  • Added an opt-in author-archive loading policy that maps pagination, infinite scroll, or load-more selection to Elementor Pro's native current-query Loop Grid controls.
  • Added five scoped minimalist loading-control designs plus a true No Style option, with backend visual previews and stable wrapper class documentation.

2.0.3

  • Added selectable author-archive social-icon placement below the name, title, image, or bio, with server-rendered Elementor injection and a compact No Style backend preview.

2.0.2

  • Preserved independent top-level publisher and author relationships in normalized article schema graphs with Hexa WP Core 3.0.1.

2.0.1

  • Added the opt-in Author social icons feature with accessible shortcode output, five styled templates plus No Style, scoped Elementor CSS guidance, configurable networks and sizing, and optional single-post or author-archive placement.

2.0.0

  • Coordinated major release for the consolidated publication lifecycle, runtime, editorial, schema, and admin infrastructure, synchronized with Hexa WordPress Plugin Core 3.0.0.

1.0.27

  • Restricted breadcrumb companion cleanup to SMP-owned bands so Elementor page-title containers cannot be removed, and aligned generated breadcrumb content to the canonical 1140px responsive grid.
  • Consolidated plugin lifecycle, updater, registries, and admin AJAX dispatch under the shared Core bootstrap and synchronized the bundled Hexa WP Core 2.1.4 package.

1.0.26

  • Resolved local author avatars through their media attachment before stored full-size URLs and rendered listing cards with native WordPress responsive image markup.

1.0.25

  • Removed the final stale reading-progress reference from the Article Design description after ownership moved to HWS Base Tools.

1.0.24

  • Moved generic reading-progress rendering and configuration ownership to HWS Base Tools, removing the duplicate SMP runtime, Article Design controls, defaults, validation, and AJAX inputs while leaving existing stored values available for the HWS migration.

1.0.23

  • Prevented the featured-image publishing guard from recursively retriggering its own editor-wide mutation observer and freezing post editor screens.

1.0.22

  • Added a wrapper-preserving, presentation-free FAQ mode for Elementor-owned styling.

1.0.21

  • Normalized article drop caps after WordPress paragraph generation so unwrapped post content cannot move the first-letter design to a later contact block.
  • Made the browser fallback remove stale lead classes and reject contact, telephone, email, hidden, and non-article paragraphs.

1.0.20

  • Prevented disabled article heading and drop-cap features from emitting typography CSS or adding their feature-specific markup classes.
  • Kept table-of-contents anchor generation independent from article heading and drop-cap styling.

1.0.19

  • Added an opt-in reading-progress scope control for posts, posts plus the front page, or the full public frontend while preserving posts-only behavior by default.
  • Made the progress indicator's accessible label reflect whether it is rendering on an article or another public page.

1.0.18

  • Restored Rank Math JSON-LD on ordinary pages, taxonomy archives, and post-type archives while preserving SMP's duplicate-schema suppression on owned home and singular integration contexts.

1.0.17

  • Added the context-aware smpi_article_markup_enabled filter so native podcast episode templates can suppress editorial post-content normalization without brittle cross-plugin callback removal.
  • Replaced target-only breadcrumb and article-normalizer executable blocks with one deferred, idempotent public DOM asset that preserves SSR markup and reinitializes on smp:content-ready.

1.0.16

  • Guarded SMP query mutations and paired SQL filters with shared Hexa WP Core eligibility and static-front-page checks.
  • Scoped secondary publication loops through exact host-owned Elementor Query IDs, preserved queries that suppress filters, and removed Elementor author post-ID prefetching.
  • Cached normalized SMP settings per site and request with invalidation after writes, direct option updates, and multisite blog switches.
  • Replaced author-directory full-ID scans with bounded existence queries while retaining full enumeration for user-removal workflows.
  • Updated the bundled Hexa WP Core to 1.2.0 and the minimum PHP version to 8.1.

1.0.15

  • Made the author press-release setting override Hexa PR Wire exclusions in native and Elementor author queries.

1.0.14

  • Added reusable author-listing controls for member image and article requirements plus author-archive press releases.
  • Made staff and contributor directory cards fully clickable and removed the separate View Member link.
  • Added real profile-image detection for ACF, Simple Local Avatars, WP User Avatars, and non-default Gravatars.

1.0.13

  • Added explicit Strip all design (Elementor) modes for article summaries and tables of contents.
  • Preserved semantic markup, headings, anchors, ARIA behavior, and shortcode hooks while excluding stripped components from all plugin-owned presentation and typography selectors.

1.0.11

  • Normalized SMP graphs through Hexa WP Core 1.1.6 so every top-level schema entity remains independently detectable in Schema.org Validator.
  • Retained typed author, publisher, copyright-holder, and image summaries while converting reference-only objects to identifier URL relationships.

1.0.10

  • Kept WebPage and article nodes as independent Schema.org validator items by using the canonical URL for mainEntityOfPage and WebSite for isPartOf.
  • Added regression coverage that prevents internal page/article edges from folding NewsArticle into WebPage.

1.0.9

  • Removed the invalid homepage CollectionPage.hasPart reference to ItemList; the valid mainEntity relationship remains the single link to the list.
  • Added homepage relationship regression coverage after the independent Schema.org validator exposed the range mismatch.

1.0.8

  • Added typed publication URL resolution that skips malformed option values and continues through valid aliases and sources before using the current site URL.
  • Added fail-closed schema URL sanitization after graph filters plus semantic integrity reporting for syntactically valid JSON-LD with invalid property types.
  • Prevented unrelated ACF option groups from leaking into schema, publication profile, and MuckRack URLs.
  • Updated the complete bundled Hexa WordPress Plugin Core package to 1.1.5 with URL guards and semantic schema scan reporting.

1.0.7

  • Replaced wildcard MuckRack author-name matching with ranked semantic targets for author links, headings, author boxes, image/icon-box titles, and bylines.
  • Excluded biographies, excerpts, article copy, pagination, and post loops from author badge placement.
  • Limited footer verification to one author-name target so badges stay beside the displayed author title across custom Elementor layouts.

1.0.6

  • Restored the native queried author object during pre_get_posts so Elementor Theme Builder author-archive conditions work consistently for cached, uncached, and authenticated requests.

1.0.5

  • Refined the soft-tint Summary template as compact secondary content with smaller typography, tighter spacing, sharper corners, and a restrained border and title marker.

1.0.4

  • Expanded selected Founder Profiles into complete, responsive profile records with photos, biographies, contact details, social URLs, personal information, affiliations, media, and WordPress record data.
  • Made founder selection and removal replace the UI from the saved AJAX response so every profile field appears immediately and remains synchronized with persisted settings.
  • Added dynamic legacy ACF metadata discovery, repeater formatting, duplicate URL suppression, and protected/system-field filtering.

1.0.3

  • Moved Founder Profiles from the Overview publication card into a dedicated Publication sidebar tab.
  • Rebuilt founder management as a compact, responsive screen while preserving Hexa WP Core search and AJAX assignment behavior.
  • Corrected the empty Core search-selection state and added live selected-profile counts and clearer save feedback.

1.0.2

  • Removed excessive implicit grid rows from the divider, number-tile, and circular-marker ordered-list designs.
  • Kept arbitrary direct list-item content in the text column so classic-editor markup remains compact and aligned.
  • Replaced every Summary template name with a clear description of its visible treatment.

Read the full README on GitHub →

Releases

TagPublished
v2.0.4 Aug 10, 2026
v2.0.2 Aug 6, 2026
v2.0.0 Aug 6, 2026

These releases are tags only. The author does not attach a packaged zip, so there are no download counts to report.