Skip to content
wiki.fftac.org

Template Tags - Source Excerpt 01

Back to Template Tags

Summary

This source excerpt preserves a bounded section of Anti-Christ.org/wp-content/themes/antichrist-engine/inc/template-tags.php so readers can inspect the evidence without opening the full source file.

**Source path:** Anti-Christ.org/wp-content/themes/antichrist-engine/inc/template-tags.php

<?php
/**
 * Template helper functions.
 *
 * @package Antichrist_Engine
 */

if (!defined('ABSPATH')) {
    exit;
}

/**
 * Prints the posted-on meta line.
 *
 * @return void
 */
function antichrist_engine_posted_on()
{
    echo '<div class="entry-meta">';
    echo '<span>' . esc_html(get_the_date()) . '</span>';
    echo '<span>' . esc_html(get_the_author()) . '</span>';
    echo '<span>' . esc_html(antichrist_engine_reading_time()) . '</span>';
    echo '</div>';
}

/**
 * Gets a stable record ID for the current post.
 *
 * @param int $post_id Optional post ID.
 * @return string
 */
function antichrist_engine_post_record_id($post_id = 0)
{
    $post_id = $post_id ? (int) $post_id : get_the_ID();

    return sprintf('FFTAC-PUB-%04d', $post_id);
}

/**
 * Gets the publication classification for a post.
 *
 * @param int $post_id Optional post ID.
 * @return string
 */
function antichrist_engine_post_classification($post_id = 0)
{
    $post_id = $post_id ? (int) $post_id : get_the_ID();
    $series  = antichrist_engine_post_series($post_id);

    if ($series) {
        return $series['classification'];
    }

    if (is_sticky($post_id)) {
        return __('Featured journal publication', 'antichrist-engine');
    }

    return __('Journal publication', 'antichrist-engine');
}

/**
 * Gets the current post's publication series if matched to a known track.
 *
 * @param int $post_id Optional post ID.
 * @return array<string, string>
 */
function antichrist_engine_post_series($post_id = 0)
{
    $post_id     = $post_id ? (int) $post_id : get_the_ID();
    $series_data = antichrist_engine_foundation_publication_series();
    $categories  = get_the_category($post_id);

    if (empty($categories) || is_wp_error($categories)) {
        return array();
    }

    foreach ($categories as $category) {
        if (isset($series_data[$category->slug])) {
            return $series_data[$category->slug];
        }
    }

    return array();
}

/**
 * Gets the current post's publication series slug if available.
 *
 * @param int $post_id Optional post ID.
 * @return string
 */
function antichrist_engine_post_series_slug($post_id = 0)
{
    $post_id    = $post_id ? (int) $post_id : get_the_ID();
    $categories = get_the_category($post_id);
    $series     = antichrist_engine_foundation_publication_series();

    if (empty($categories) || is_wp_error($categories)) {
        return '';
    }

    foreach ($categories as $category) {
        if (isset($series[$category->slug])) {
            return $category->slug;
        }
    }

    return '';
}

/**
 * Gets the primary topic label for a post.
 *
 * @param int $post_id Optional post ID.
 * @return string
 */
function antichrist_engine_post_primary_topic($post_id = 0)
{
    $post_id    = $post_id ? (int) $post_id : get_the_ID();
    $categories = get_the_category($post_id);

    if (!empty($categories) && !is_wp_error($categories)) {
        return $categories[0]->name;
    }

    return __('General inquiry', 'antichrist-engine');
}

/**
 * Gets the release profile for the current post.
 *
 * @param int $post_id Optional post ID.
 * @return array<string, mixed>
 */
function antichrist_engine_post_release_profile($post_id = 0)
{
    $post_id     = $post_id ? (int) $post_id : get_the_ID();
    $series      = antichrist_engine_post_series($post_id);
    $series_slug = antichrist_engine_post_series_slug($post_id);
    $reading_time = antichrist_engine_reading_time($post_id);

    $profile = array(
        'role_label'     => __('Archive file', 'antichrist-engine'),
        'role_summary'   => __('A governed public file that extends the archive without pretending to outrank doctrine or the canonical record.', 'antichrist-engine'),
        'best_use'       => __('Best when a reader needs the public argument in full rather than a fragment, route card, or index summary.', 'antichrist-engine'),
        'audience'       => !empty($series['audience']) ? (string) $series['audience'] : __('Readers following the public archive as it matures through publication, review, and revision.', 'antichrist-engine'),
        'packet_title'   => __('Use this file as part of the governed archive', 'antichrist-engine'),
        'packet_summary' => __('A journal file is strongest when it stays connected to its track, its supporting proof surface, and the standards that keep publication from pretending to be canon.', 'antichrist-engine'),
        'packet_points'  => array(
            __('Use the stable record ID when citing or sharing the file.', 'antichrist-engine'),
            __('Keep the related track and supporting research surface nearby while evaluating the argument.', 'antichrist-engine'),
            __('Treat publication as active philosophical work still answerable to standards, review, and later amendment pressure.', 'antichrist-engine'),
        ),
        'routes'         => array(
            array(
                'eyebrow' => __('Track Board', 'antichrist-engine'),
                'title'   => __('Compare the journal tracks', 'antichrist-engine'),
                'summary' => __('See how the current file sits beside the other publication lanes and the broader release system.', 'antichrist-engine'),
                'target'  => 'journal',
                'anchor'  => 'track-board',
                'cta'     => __('Open the track board', 'antichrist-engine'),
            ),
            array(
                'eyebrow' => __('Standards', 'antichrist-engine'),
                'title'   => __('Review publication standards', 'antichrist-engine'),
                'summary' => __('Reopen the governing file that distinguishes archive publication from doctrine and formal amendment.', 'antichrist-engine'),
                'target'  => 'standards',
                'anchor'  => 'archive-pipeline',
                'cta'     => __('Review publication standards', 'antichrist-engine'),
            ),
        ),
        'reading_time'   => $reading_time,
    );

    switch ($series_slug) {
        case 'verified-research':
            $profile['role_label']     = __('Citation dossier', 'antichrist-engine');
            $profile['role_summary']   = __('This file should function like a citation-facing dossier: slower, sourced, and durable enough to survive disagreement.', 'antichrist-engine');
            $profile['best_use']       = __('Best when a journalist, skeptic, or researcher needs the public file and the supporting evidence stack close together.', 'antichrist-engine');
            $profile['packet_title']   = __('Use this dossier with the atlas and the standards file', 'antichrist-engine');
            $profile['packet_summary'] = __('Verified Research files work best when the journal text, the claim index, and the verification rules remain visible as one packet rather than being split apart.', 'antichrist-engine');
            $profile['packet_points']  = array(
                __('Compare the file with the claim index and source-trail routes before quoting it as definitive.', 'antichrist-engine'),
                __('Use the record ID and track label when passing the file to researchers or editors.', 'antichrist-engine'),
                __('Keep the standards file nearby if the dispute is really about verification, evidence, or editorial thresholds.', 'antichrist-engine'),
            );
            $profile['routes']         = array(
                array(
                    'eyebrow' => __('Atlas Proof', 'antichrist-engine'),
                    'title'   => __('Open the claim index behind the dossier', 'antichrist-engine'),
                    'summary' => __('Return to the atlas route where dossiers, related claims, and supporting source trails remain queryable.', 'antichrist-engine'),
                    'target'  => 'research',
                    'anchor'  => 'claim-index',
                    'cta'     => __('Open the claim index', 'antichrist-engine'),
                ),
                array(
                    'eyebrow' => __('Export Desk', 'antichrist-engine'),
                    'title'   => __('Pair the file with reusable research exports', 'antichrist-engine'),
                    'summary' => __('Use flat-file exports when the conversation needs tables, provenance, or machine-readable support beside the prose file.', 'antichrist-engine'),
                    'target'  => 'downloads',
                    'anchor'  => 'research-data-exports',
                    'cta'     => __('Open research exports', 'antichrist-engine'),
                ),
            );
            break;

        case 'history-of-the-spirit':
            $profile['role_label']     = __('Historical sequence file', 'antichrist-engine');