Virtual Pages - Source Excerpt 45
Summary
This source excerpt preserves a bounded section of 2IA.org/wp-content/themes/twoia-intelligence/inc/virtual-pages.php so readers can inspect the evidence without opening the full source file.
**Source path:** 2IA.org/wp-content/themes/twoia-intelligence/inc/virtual-pages.php
/**
* Render topic chips.
*
* @param array $groups Chip groups.
*/
function twoia_render_filter_chips( $groups ) {
?>
<div class="twoia-filter-panel" aria-label="<?php esc_attr_e( 'Research filters', 'two-identities-anonymous' ); ?>">
<?php foreach ( $groups as $label => $chips ) : ?>
<section>
<h3><?php echo esc_html( $label ); ?></h3>
<ul class="twoia-chip-list">
<?php foreach ( $chips as $chip ) : ?>
<li><span><?php echo esc_html( $chip ); ?></span></li>
<?php endforeach; ?>
</ul>
</section>
<?php endforeach; ?>
</div>
<?php
}
/**
* Render the Research page.
*/
function twoia_render_research_portal() {
global $post;
$recent_posts = get_posts(
array(
'post_type' => function_exists( 'twoia_public_search_post_types' ) ? twoia_public_search_post_types() : array( 'post' ),
'post_status' => 'publish',
'posts_per_page' => 6,
'ignore_sticky_posts' => true,
)
);
$recent_posts = array_values(
array_filter(
$recent_posts,
static function ( $candidate_post ) {
return ! ( function_exists( 'twoia_is_default_placeholder_post' ) && twoia_is_default_placeholder_post( $candidate_post ) );
}
)
);
?>
<section class="section section--compact twoia-ia-section" aria-labelledby="twoia-research-filters-title">
<header class="section-header">
<p class="eyebrow"><?php esc_html_e( 'Living research index', 'two-identities-anonymous' ); ?></p>
<h2 id="twoia-research-filters-title"><?php esc_html_e( 'Investigations, case studies, history, policy, and public records', 'two-identities-anonymous' ); ?></h2>
<p><?php esc_html_e( 'Research covers intelligence history, international intelligence apparatuses, proxy networks, soft power, OSINT, SIGINT infrastructure, surveillance systems, domestic weaponization, cyber conflict, information operations, anonymity, public records, civil liberties, and state or non-state power.', 'two-identities-anonymous' ); ?></p>
</header>
<?php
twoia_render_filter_chips(
array(
__( 'Topic', 'two-identities-anonymous' ) => array( __( 'Surveillance', 'two-identities-anonymous' ), __( 'Metadata', 'two-identities-anonymous' ), __( 'AI scoring', 'two-identities-anonymous' ), __( 'Public records', 'two-identities-anonymous' ), __( 'Anonymity', 'two-identities-anonymous' ), __( 'Intelligence power', 'two-identities-anonymous' ), __( 'Cyber conflict', 'two-identities-anonymous' ) ),
__( 'Format', 'two-identities-anonymous' ) => array( __( 'Investigation', 'two-identities-anonymous' ), __( 'Case study', 'two-identities-anonymous' ), __( 'Explainer', 'two-identities-anonymous' ), __( 'Historical analysis', 'two-identities-anonymous' ), __( 'Policy analysis', 'two-identities-anonymous' ), __( 'Toolkit', 'two-identities-anonymous' ) ),
__( 'Date', 'two-identities-anonymous' ) => array( __( 'Latest', 'two-identities-anonymous' ), __( 'Updated', 'two-identities-anonymous' ), __( 'Historical file', 'two-identities-anonymous' ) ),
__( 'Status', 'two-identities-anonymous' ) => array( __( 'Published', 'two-identities-anonymous' ), __( 'Updated', 'two-identities-anonymous' ), __( 'Correction noted', 'two-identities-anonymous' ), __( 'Right of reply open', 'two-identities-anonymous' ) ),
__( 'Confidence', 'two-identities-anonymous' ) => array( __( 'Confirmed', 'two-identities-anonymous' ), __( 'Corroborated', 'two-identities-anonymous' ), __( 'Inferred', 'two-identities-anonymous' ), __( 'Disputed', 'two-identities-anonymous' ), __( 'Unverified', 'two-identities-anonymous' ) ),
)
);
?>
</section>
<?php if ( function_exists( 'twoia_render_publication_lanes' ) ) : ?>
<?php twoia_render_publication_lanes(); ?>
<?php endif; ?>
<section class="section section--compact twoia-ia-section" aria-labelledby="twoia-research-depth-title">
<header class="section-header">
<p class="eyebrow"><?php esc_html_e( 'Intelligence-apparatus layer', 'two-identities-anonymous' ); ?></p>
<h2 id="twoia-research-depth-title"><?php esc_html_e( 'Serious subjects stay on the table', 'two-identities-anonymous' ); ?></h2>
</header>
<?php
twoia_render_ia_cards(
array(
array( 'title' => __( 'Historical statecraft and proxy networks', 'two-identities-anonymous' ), 'body' => __( 'Higher Police doctrine, Okhrana, Cheka, GPU, NKVD, KGB lineage, Cold War intelligence coalitions, Safari Club, World Commerce Corporation, soft power, and intelligence agencies as institutions of state continuity.', 'two-identities-anonymous' ) ),
array( 'title' => __( 'Asymmetric threats and cyber conflict', 'two-identities-anonymous' ), 'body' => __( 'Decentralized non-state actors, propaganda networks, historical cyber-disruption cases, state responses to digital radicalization, information warfare, and narrative conflict without operational terrorist or intrusion instructions.', 'two-identities-anonymous' ) ),
array( 'title' => __( 'OSINT and SIGINT frameworks', 'two-identities-anonymous' ), 'body' => __( 'Public records, source verification, social media as evidence, satellite and signals infrastructure at a high analytical level, metadata awareness, domain authenticity, provenance, and confidence labeling.', 'two-identities-anonymous' ) ),
array( 'title' => __( 'Domestic weaponization and civil liberties', 'two-identities-anonymous' ), 'body' => __( 'Surveillance abuse, legal process, chilling effects, watchlists, political targeting allegations, automated suspicion, due process, records access, press freedom, dissent, and anonymity.', 'two-identities-anonymous' ) ),
)
);
?>
</section>
<section class="section section--compact twoia-ia-section" aria-labelledby="twoia-latest-research-title">
<header class="section-header">
<p class="eyebrow"><?php esc_html_e( 'Latest research', 'two-identities-anonymous' ); ?></p>
<h2 id="twoia-latest-research-title"><?php esc_html_e( 'Published research', 'two-identities-anonymous' ); ?></h2>
<p><?php esc_html_e( 'Each published card gives the title, date, format, issue tags, confidence status, and correction context available for that article.', 'two-identities-anonymous' ); ?></p>
</header>
<?php if ( $recent_posts ) : ?>
<div class="grid grid--cards">
<?php
foreach ( $recent_posts as $post ) :
setup_postdata( $post );
get_template_part( 'template-parts/content', 'card' );
endforeach;
wp_reset_postdata();
?>
</div>
<?php else : ?>
<?php
twoia_render_ia_cards(
array(
array( 'title' => __( 'No published briefings yet', 'two-identities-anonymous' ), 'body' => __( 'The issue map, source-class guide, system-failure cards, and practical packets below are ready while full articles move through review.', 'two-identities-anonymous' ) ),
)
);
?>
<?php endif; ?>
</section>
<?php twoia_render_source_class_matrix(); ?>
<?php twoia_render_issue_hub_blueprints(); ?>
<?php twoia_render_archive_toolkits_and_planning(); ?>
<section class="section section--compact twoia-page-cta" aria-labelledby="twoia-research-corrections-title">
<h2 id="twoia-research-corrections-title"><?php esc_html_e( 'Corrections and right of reply are part of the research system', 'two-identities-anonymous' ); ?></h2>
<p><?php esc_html_e( 'Material claims remain challengeable. Corrections cover factual error, missing context, attribution problems, stale sources, privacy exposure, or a reply that changes the public record.', 'two-identities-anonymous' ); ?></p>
<p><a class="button button--primary" href="<?php echo esc_url( home_url( '/corrections-and-right-of-reply/' ) ); ?>"><?php esc_html_e( 'Read Corrections and Right of Reply', 'two-identities-anonymous' ); ?></a> <a class="button button--secondary" href="<?php echo esc_url( home_url( '/newsletter/' ) ); ?>"><?php esc_html_e( 'Follow without tracking bloat', 'two-identities-anonymous' ); ?></a></p>
<p class="metadata-label"><?php esc_html_e( 'Research Archive is the canonical index. Older /research/ links remain available as a noindexed compatibility route.', 'two-identities-anonymous' ); ?></p>
</section>
<?php
}