From a24a06002081ad71a78ffeff9072725ba39cf121 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Tue, 17 Feb 2026 20:05:31 +0000
Subject: [PATCH] =minor changes, particularly around the JVB_CHILD_URL pattern
---
inc/managers/SEO/SchemaOutputManager.php | 36 ++++++++++++++++++++++--------------
1 files changed, 22 insertions(+), 14 deletions(-)
diff --git a/inc/managers/SEO/SchemaOutputManager.php b/inc/managers/SEO/SchemaOutputManager.php
index d53da29..9c4a545 100644
--- a/inc/managers/SEO/SchemaOutputManager.php
+++ b/inc/managers/SEO/SchemaOutputManager.php
@@ -2,6 +2,7 @@
namespace JVBase\managers\SEO;
use JVBase\managers\Cache;
+use JVBase\managers\SEO\schemas\SchemaResolverRegistry;
use JVBase\meta\Meta;
use JVBase\managers\SEO\schemas\SchemaDefinition;
use WP_Term;
@@ -120,7 +121,6 @@
public function filterTitle(string $title, ?array $args): string
{
if ($args !== null) {
- // Not in the loop (admin, etc.)
return $title;
}
@@ -131,14 +131,22 @@
$metaConfig = $this->config->meta();
- if (empty($metaConfig['title'])) {
+ if (empty($metaConfig['metaTitle'])) {
return $title;
}
$resolver = $this->getResolver();
- $customTitle = $resolver->resolve($metaConfig['title']);
+ $customTitle = $resolver->resolve($metaConfig['metaTitle']);
- return $customTitle ?: $title;
+ if (!$customTitle) {
+ return $title;
+ }
+
+ // Strip trailing site name — TSF adds its own branding
+ $siteName = get_bloginfo('name');
+ $customTitle = preg_replace('/\s*[|\-–—]\s*' . preg_quote($siteName, '/') . '\s*$/i', '', $customTitle);
+
+ return $customTitle;
}
/**
@@ -157,12 +165,12 @@
$metaConfig = $this->config->meta();
- if (empty($metaConfig['description'])) {
+ if (empty($metaConfig['metaDescription'])) {
return $description;
}
$resolver = $this->getResolver();
- $customDescription = $resolver->resolve($metaConfig['description']);
+ $customDescription = $resolver->resolve($metaConfig['metaDescription']);
// Truncate to reasonable length
if (strlen($customDescription) > 160) {
@@ -189,16 +197,16 @@
$metaConfig = $this->config->meta();
// Check for custom image
- if (!empty($metaConfig['image'])) {
+ if (!empty($metaConfig['socialPreviewImage'])) {
$resolver = $this->getResolver();
- $imageUrl = $resolver->resolve($metaConfig['image']);
+ $imageUrl = $resolver->resolve($metaConfig['socialPreviewImage']);
if ($imageUrl) {
$params['og:image'] = $imageUrl;
// Use twitter-specific image if set, otherwise use main image
- if (!empty($metaConfig['twitter_image'])) {
- $twitterImage = $resolver->resolve($metaConfig['twitter_image']);
+ if (!empty($metaConfig['twitterImage'])) {
+ $twitterImage = $resolver->resolve($metaConfig['twitterImage']);
$params['twitter:image'] = $twitterImage ?: $imageUrl;
} else {
$params['twitter:image'] = $imageUrl;
@@ -532,12 +540,12 @@
$resolver = $this->getResolver();
$metaConfig = $this->config->meta();
- if (!empty($metaConfig['title'])) {
- $webpage['name'] = $resolver->resolve($metaConfig['title']);
+ if (!empty($metaConfig['metaTitle'])) {
+ $webpage['name'] = $resolver->resolve($metaConfig['metaTitle']);
}
- if (!empty($metaConfig['description'])) {
- $webpage['description'] = $resolver->resolve($metaConfig['description']);
+ if (!empty($metaConfig['metaDescription'])) {
+ $webpage['description'] = $resolver->resolve($metaConfig['metaDescription']);
}
}
--
Gitblit v1.10.0