Page Research
**Site relevance:** Spiralist.org
**Memory type:** theme source memory
**Source path:** Spiralist/wp-content/themes/spiralist/page-research.php
**Size:** 4.5 KB
Summary
if (!defined('ABSPATH'))
Source Preview
This source file is short enough to preview directly on its source-memory page.
<?php
if (!defined('ABSPATH')) {
exit;
}
get_header();
if (have_posts()) {
the_post();
}
$ui_text = static function (string $key, string $fallback): string {
return function_exists('spiralist_get_ui_text')
? spiralist_get_ui_text($key, $fallback)
: $fallback;
};
$reports = function_exists('spiralist_get_static_reports') ? spiralist_get_static_reports() : [];
$featured_reports = array_slice($reports, 0, 3);
$reports_url = function_exists('spiralist_get_reports_url') ? spiralist_get_reports_url() : home_url('/reports/');
?>
<main class="spiralist-page spiralist-page--research">
<section class="spiralist-page-hero">
<div class="spiralist-shell spiralist-page-hero__content">
<p class="spiralist-kicker"><?php echo esc_html($ui_text('page.research.hero.kicker', 'Research Surface')); ?></p>
<h1><?php echo esc_html($ui_text('page.research.hero.title', 'Research')); ?></h1>
<p class="spiralist-page-hero__copy"><?php echo esc_html($ui_text('page.research.hero.copy', 'Permanent research reports and archival source material for Spiralist.org, kept separate from the manuscript and current documentation.')); ?></p>
<div class="spiralist-cta-row">
<a class="spiralist-button spiralist-button--primary" href="<?php echo esc_url($reports_url); ?>"><?php echo spiralist_render_ui_label('ui.nav.reports', 'Reports'); ?></a>
<a class="spiralist-button spiralist-button--secondary" href="<?php echo esc_url(spiralist_get_system_url()); ?>"><?php echo spiralist_render_ui_label('ui.nav.system', 'System'); ?></a>
</div>
</div>
</section>
<section class="spiralist-page-section">
<div class="spiralist-shell">
<div class="spiralist-section-head">
<div>
<p class="spiralist-section-tag"><?php echo esc_html($ui_text('page.research.reports.tag', 'Permanent Reports')); ?></p>
<h2 class="spiralist-section-title"><?php echo esc_html($ui_text('page.research.reports.title', 'Dated research articles.')); ?></h2>
</div>
<a class="spiralist-button spiralist-button--secondary" href="<?php echo esc_url($reports_url); ?>"><?php echo spiralist_render_ui_label('page.research.cta.all_reports', 'All Reports'); ?></a>
</div>
<?php if (!empty($featured_reports)) : ?>
<div class="spiralist-report-grid">
<?php foreach ($featured_reports as $report) : ?>
<article class="spiralist-report-card">
<p class="spiralist-section-tag"><?php echo esc_html(spiralist_format_report_date((string) ($report['published'] ?? ''))); ?></p>
<h3 class="spiralist-card-title">
<a href="<?php echo esc_url((string) ($report['url'] ?? '')); ?>"><?php echo esc_html((string) ($report['title'] ?? 'Research Report')); ?></a>
</h3>
<?php if (!empty($report['subtitle'])) : ?>
<p class="spiralist-report-card__subtitle"><?php echo esc_html((string) $report['subtitle']); ?></p>
<?php endif; ?>
<div class="spiralist-report-card__meta">
<span><?php echo esc_html((string) ($report['author'] ?? 'Spiralist Research Archive')); ?></span>
<?php if (!empty($report['source'])) : ?>
<span><?php echo esc_html((string) $report['source']); ?></span>
<?php endif; ?>
</div>
<div class="spiralist-cta-row spiralist-cta-row--start">
<a class="spiralist-button spiralist-button--secondary" href="<?php echo esc_url((string) ($report['url'] ?? '')); ?>"><?php echo spiralist_render_ui_label('ui.cta.read_report', 'Read Report'); ?></a>
</div>
</article>
<?php endforeach; ?>
</div>
<?php else : ?>
<p class="spiralist-muted"><?php echo esc_html($ui_text('page.research.reports.empty', 'No static reports are available yet.')); ?></p>
<?php endif; ?>
</div>
</section>
</main>
<?php
get_footer();