Jake Vanderwerf
2026-02-04 2127b1bdd73ecd2423e443992da4b442f5a3c1a3
inc/managers/SchemaManager.php
@@ -1,13 +1,14 @@
<?php
namespace JVBase\managers;
use JVBase\meta\MetaManager;
use JVBase\meta\Meta;
use WP_Query;
if (!defined('ABSPATH')) {
    exit; // Exit if accessed directly
}
/**
 * @deprecated use JVBase\managers\seo\SEO.php
 * Schema.org Generator for edmonton.ink
 *
 * This class generates structured schema.org data for better SEO
@@ -240,16 +241,16 @@
     */
    private function getArtistSchema(int $post_id):array
    {
        $meta = new MetaManager($post_id, 'post');
        $meta = Meta::forPost($post_id);
      $metaValues = $meta->getAll();
        $permalink = get_permalink($post_id);
        // Get artist data
        $name = get_the_title($post_id);
        $first_name = $meta->getValue('first_name');
        $bio = $meta->getValue('bio');
        $short_bio = $meta->getValue('short_bio');
        $first_name = $meta->get('first_name');
        $bio = $meta->get('bio');
        $short_bio = $meta->get('short_bio');
        $description = $short_bio ?: wp_strip_all_tags($bio) ?: get_the_excerpt($post_id);
        // Build person schema
@@ -355,7 +356,7 @@
     */
    private function getShopSchema(int $term_id): array
    {
        $meta = new MetaManager($term_id, 'term');
        $meta = Meta::forTerm($term_id);
      $metaValues = $meta->getAll();
        $term = get_term($term_id, BASE.'shop');
        $permalink = get_term_link($term_id, BASE.'shop');
@@ -365,8 +366,8 @@
            [
                '@type'             => 'LocalBusiness',
                '@id'               => $permalink . '#organization',
                'name'              => $term->name,
                'description'       => $meta->getValue('short_bio') ?: $term->description,
                'name'              => html_entity_decode($term->name),
                'description'       => $meta->get('short_bio') ?: $term->description,
                'url'               => $permalink,
                'priceRange'        => '$$', // Default price range
                'additionalType'    => 'https://schema.org/TattooParlor', // Custom business type
@@ -968,7 +969,7 @@
     */
    private function getStyleSchema(int $term_id):array
    {
        $meta = new MetaManager($term_id, 'term');
        $meta = Meta::forTerm($term_id);
        $term = get_term($term_id, BASE.'style');
        $permalink = get_term_link($term_id, BASE.'style');
@@ -976,8 +977,8 @@
            [
                '@type' => 'CreativeWork',
                '@id' => $permalink . '#style',
                'name' => $term->name,
                'description' => $meta->getValue('characteristics') ?: $term->description,
                'name' => html_entity_decode($term->name),
                'description' => $meta->get('characteristics') ?: $term->description,
                'url' => $permalink,
                'mainEntityOfPage' => [
                    '@type' => 'WebPage',
@@ -1002,15 +1003,15 @@
     */
    private function getThemeSchema(int $term_id):array
    {
        $meta = new MetaManager($term_id, 'term');
        $meta = Meta::forTerm($term_id);
        $term = get_term($term_id, BASE.'theme');
        $permalink = get_term_link($term_id, BASE.'theme');
        $schema = [
            '@type' => 'CreativeWork',
            '@id' => $permalink . '#theme',
            'name' => $term->name,
            'description' => $meta->getValue('description') ?: $term->description,
            'name' => html_entity_decode($term->name),
            'description' => $meta->get('description') ?: $term->description,
            'url' => $permalink,
            'mainEntityOfPage' => [
                '@type' => 'WebPage',
@@ -1034,7 +1035,7 @@
     */
    private function getPartnerSchema(int $post_id):array
    {
        $meta = new MetaManager($post_id, 'post');
        $meta = Meta::forPost($post_id);
      $metaValues = $meta->getAll();
        $permalink = get_permalink($post_id);