From f383c3a4325bc173b6f9676274bc19694be6f9c0 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Fri, 05 Jun 2026 16:49:44 +0000
Subject: [PATCH] =Modified the Feed Fields config in Registrar, to utilize the built in functionality there
---
alegacy.php | 130 ++++++++++++++++++++++++++++++++++++++++---
1 files changed, 120 insertions(+), 10 deletions(-)
diff --git a/alegacy.php b/alegacy.php
index c4cc239..3416d05 100644
--- a/alegacy.php
+++ b/alegacy.php
@@ -44,7 +44,6 @@
}
use JVBase\base\Site;
-use JVBase\managers\CacheManager;
use JVBase\registrar\Registrar;
add_filter('jvb_base', function () {
@@ -150,7 +149,7 @@
* - rewrite rules
* - archive title
*/
-add_filter('jvb_site', 'altr_setup_site');
+//add_filter('jvb_site', 'altr_setup_site');
function altr_setup_site():array
{
return [
@@ -330,19 +329,130 @@
return 'logo-triangle';
}
-
-add_filter('jvbSummaryHeader', 'altr_progress_summary_header', 10, 2);
-
-function altr_progress_summary_header(string $title, string $type):string
+function altr_title_generator(?string $type = null):string
{
- switch ($type) {
+ if (!$type) {
+ $obj = get_queried_object();
+
+ if (is_tax()) {
+ $type = $obj->taxonomy;
+ } elseif (is_post_type_archive()) {
+ $type = $obj->name;
+ } elseif (is_singular()) {
+ $type = $obj->post_type;
+ } else {
+ error_log('Could not determine type: '.print_r($obj, true));
+ return '';
+ }
+ }
+
+
+ $registrar = Registrar::getInstance($type);
+ if (!$registrar) {
+ error_log('Could not find registrar for '.$type);
+ return '';
+ }
+
+ switch($registrar->getSlug()) {
case 'progress':
- return Registrar::getInstance($type)->getPlural();
+ return $registrar->getPlural();
+ case 'skin_type':
+ $name = get_queried_object()->name;
+ $basic = match($name) {
+ 'i','ii','iii','iv type 1' => 'Lighter Skin',
+ 'iv type 2', 'v', 'vi' => 'Darker Skin'
+ };
+ return '<small>How We Remove Tattoos On </small> '.$basic.' <small>(FitzPatrick Skin Type '.$name.')</small>';
+ case 'age':
+ $name = strtolower(get_queried_object()->name);
+ if (str_contains($name, 'years')) {
+ $name = str_replace('years', 'year', $name);
+ }
+ if (str_contains($name, 'months')) {
+ $name = str_replace('months', 'month', $name);
+ }
+ if (str_contains($name, 'weeks')) {
+ $name = str_replace('weeks', 'week', $name);
+ }
+ return '<small>How We Remove </small>'.ucwords($name).' Old<small> Tattoos</small>';
+
+ case 'timeline':
+ $name = strtolower(get_queried_object()->name);
+ return '<small>Laser Tattoo Removal </small>'.ucwords($name).' Later';
+ case 'goal':
+ $name = get_queried_object()->name;
+ $name = match($name) {
+ 'Complete Removal' => 'Completely Remove Tattoos',
+ 'Cover Up Tattoo' => 'Fade Tattoos for a Cover Up',
+ default => 'Clean Up Tattoo Blowout'
+ };
+ return '<small>How we </small>'.$name;
+ case 'style':
+ case 'body_part':
+ case 'theme':
+ $name = get_queried_object()->name;
+ return '<small>How We Remove </small>'.ucwords($name).' Tattoos';
default:
- $singular = Registrar::getInstance($type)->getSingular();
- return '<small>Before & After Laser Tattoo Removal</small><small>'.$singular.':</small>'.str_replace($singular.': ','',$title);
+ error_log('No title preset found for '.$registrar->getSlug());
+ return '';
}
}
+
+add_filter('get_the_archive_title', 'altr_archive_title', 10, 1);
+function altr_archive_title(string $title):string
+{
+ return altr_title_generator();
+}
+
+add_filter('the_seo_framework_title_from_generation', 'altr_title_filter', 10, 2);
+function altr_title_filter(string $title, $args):string
+{
+ $newTitle = '';
+
+ $tsf = tsf();
+
+ $type = null;
+ if (null === $args) {
+ // We're in the loop
+ if ($tsf->query()->is_tax()) {
+ $type = $tsf->query()->get_current_taxonomy();
+ }
+ } else {
+ if (!empty($args['taxonomy']??'')) {
+ $type = $args['taxonomy'];
+ }
+ }
+
+ if ($type) {
+ $newTitle = altr_title_generator(jvbNoBase($type));
+ }
+
+ return empty($newTitle) ? $title : wp_strip_all_tags($newTitle);
+}
+
+
+//add_filter('jvbSummaryHeader', 'altr_progress_summary_header', 10, 2);
+//
+//function altr_progress_summary_header(string $title, string $type):string
+//{
+// $pre = $singular = '';
+// $registrar = Registrar::getInstance($type);
+//
+// switch ($type) {
+//
+//
+// }
+// $pre = 'Before & After Laser Tattoo Removal';
+// if (is_tax()) {
+// return '<small>Before & After </small>'.get_queried_object()->name.'<small> Tattoo Removal</small>';
+// } elseif (is_post_type_archive()) {
+// $singular = Registrar::getInstance($type)->getSingular();
+// } elseif (is_singular()) {
+// global $post;
+// $singular = $post->post_title;
+// }
+// return '<small>Before & After Laser Tattoo Removal</small>'.$singular;
+//}
add_filter('jvbSummaryHeaderExtra', 'altr_progress_summary_header_extra', 10, 2);
function altr_progress_summary_header_extra(string $title, string $type):string
--
Gitblit v1.10.0