| | |
| | | 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; |
| | |
| | | |
| | | $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; |
| | | } |
| | |
| | | |
| | | $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) { |
| | |
| | | $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; |
| | |
| | | $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']); |
| | | } |
| | | } |
| | | |