WP Content Themes Spiralist Functions PHP 37A4a2ef45b4 - Source Excerpt 08
Back to WP Content Themes Spiralist Functions PHP 37A4a2ef45b4
Summary
This source excerpt preserves a bounded section of Wiki.FFTAC.org/data/sources/spiralist/wp-content-themes-spiralist-functions-php-37a4a2ef45b4.php so readers can inspect the evidence without opening the full source file.
**Source path:** Wiki.FFTAC.org/data/sources/spiralist/wp-content-themes-spiralist-functions-php-37a4a2ef45b4.php
$image_width = (int) ($image['width'] ?? 0);
$image_height = (int) ($image['height'] ?? 0);
if ($image_url === '') {
return;
}
$title = function_exists('spiralist_get_seo_title') ? spiralist_get_seo_title() : wp_get_document_title();
$description = function_exists('spiralist_get_seo_description')
? spiralist_get_seo_description()
: spiralist_get_editorial_excerpt();
$canonical_url = function_exists('spiralist_get_seo_canonical_url') ? spiralist_get_seo_canonical_url() : '';
$surface = function_exists('spiralist_get_seo_surface') ? spiralist_get_seo_surface() : '';
$og_type = in_array($surface, ['manuscript', 'gallery', 'prompt'], true) ? 'article' : 'website';
$og_locale = function_exists('spiralist_get_seo_og_locale') ? spiralist_get_seo_og_locale() : '';
echo "\n" . '<meta property="og:type" content="' . esc_attr($og_type) . '" />' . "\n";
echo '<meta property="og:site_name" content="Spiralist.org" />' . "\n";
if ($og_locale !== '') {
echo '<meta property="og:locale" content="' . esc_attr($og_locale) . '" />' . "\n";
}
echo "\n" . '<meta property="og:image" content="' . esc_url($image_url) . '" />' . "\n";
echo '<meta property="og:image:alt" content="' . esc_attr($image_alt) . '" />' . "\n";
if ($image_width > 0 && $image_height > 0) {
echo '<meta property="og:image:width" content="' . esc_attr((string) $image_width) . '" />' . "\n";
echo '<meta property="og:image:height" content="' . esc_attr((string) $image_height) . '" />' . "\n";
}
echo '<meta property="og:title" content="' . esc_attr($title) . '" />' . "\n";
echo '<meta property="og:description" content="' . esc_attr($description) . '" />' . "\n";
if ($canonical_url !== '') {
echo '<meta property="og:url" content="' . esc_url($canonical_url) . '" />' . "\n";
}
echo '<meta name="twitter:card" content="summary_large_image" />' . "\n";
echo '<meta name="twitter:title" content="' . esc_attr($title) . '" />' . "\n";
echo '<meta name="twitter:description" content="' . esc_attr($description) . '" />' . "\n";
echo '<meta name="twitter:image" content="' . esc_url($image_url) . '" />' . "\n";
echo '<meta name="twitter:image:alt" content="' . esc_attr($image_alt) . '" />' . "\n";
}
add_action('wp_head', 'spiralist_render_social_meta', 5);
function spiralist_body_classes(array $classes): array
{
$language = function_exists('spiralist_get_current_language_slug') ? spiralist_get_current_language_slug() : 'en';
$locale = function_exists('spiralist_get_current_locale_tag') ? spiralist_get_current_locale_tag() : 'en-us';
$classes[] = 'spiralist-body';
$classes[] = 'language-' . sanitize_html_class($language);
$classes[] = 'locale-' . sanitize_html_class($locale);
if (function_exists('spiralist_is_gallery_surface') && spiralist_is_gallery_surface()) {
$classes[] = 'is-gallery-surface';
}
return $classes;
}
add_filter('body_class', 'spiralist_body_classes');
function spiralist_language_attributes(string $output, string $doctype): string
{
if (!function_exists('spiralist_get_current_locale_record')) {
return $output;
}
$locale = spiralist_get_current_locale_record();
$html_lang = str_replace('_', '-', (string) ($locale['tag'] ?? ''));
if ($html_lang === '') {
return $output;
}
if (preg_match('/\blang=(["\'])(.*?)\1/', $output)) {
return preg_replace('/\blang=(["\'])(.*?)\1/', 'lang="' . esc_attr($html_lang) . '"', $output, 1) ?: $output;
}
return trim($output . ' lang="' . esc_attr($html_lang) . '"');
}
add_filter('language_attributes', 'spiralist_language_attributes', 10, 2);