Skip to content
wiki.fftac.org

Virtual Pages - Source Excerpt 77

Back to Virtual Pages

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

__( 'When reading %s, ask what problem the entry solves: legal intake, records help, local organizing, policy context, AI-governance reference, defensive digital security, investigative method, or historical understanding.', 'two-identities-anonymous' ),
					$title
				),
			),
			array(
				'label' => __( 'Currency check', 'two-identities-anonymous' ),
				'text'  => __( 'Look for the date behind the entry. Programs close, names change, intake pauses, contact pages move, and state coverage shifts. A directory without review dates teaches false confidence.', 'two-identities-anonymous' ),
			),
			array(
				'label' => __( 'Risk context', 'two-identities-anonymous' ),
				'text'  => __( 'Historical, controversial, or leaderless entries need legal history, attribution humility, and boundaries. They should never read like endorsements, recruiting pages, target directories, or instructions.', 'two-identities-anonymous' ),
			),
		),
		'support'                 => array(
			array(
				'label' => __( 'Data collected', 'two-identities-anonymous' ),
				'text'  => sprintf(
					/* translators: %s: dossier title. */
					__( 'When reading %s, look for the data flow behind the ask: email, payment details, processor, analytics event, form field, volunteer note, retention period, deletion route, and third-party access.', 'two-identities-anonymous' ),
					$title
				),
			),
			array(
				'label' => __( 'Independence signal', 'two-identities-anonymous' ),
				'text'  => __( 'Support language should prove public value without fake scarcity, panic, secret access, donor theater, or tracking-heavy growth. The archive should get better; the reader should not become the product.', 'two-identities-anonymous' ),
			),
			array(
				'label' => __( 'Low-risk contribution', 'two-identities-anonymous' ),
				'text'  => __( 'A healthy support path makes room for donation, reading, accessibility review, translation, source review, and records tracking without nudging supporters toward private investigation or risky enforcement.', 'two-identities-anonymous' ),
			),
		),
		'about'                   => array(
			array(
				'label' => __( 'Authority claim', 'two-identities-anonymous' ),
				'text'  => sprintf(
					/* translators: %s: dossier title. */
					__( 'When reading %s, check what authority the page claims and what authority it refuses: no government role, no law-enforcement power, no secret access, and no platform enforcement function.', 'two-identities-anonymous' ),
					$title
				),
			),
			array(
				'label' => __( 'Proof of work', 'two-identities-anonymous' ),
				'text'  => __( 'A strong About page points away from branding and toward checkable work: methodology, corrections, public records, issue routes, privacy posture, support standards, and concrete civil-liberties analysis.', 'two-identities-anonymous' ),
			),
			array(
				'label' => __( 'Tone discipline', 'two-identities-anonymous' ),
				'text'  => __( 'Direct language is useful when it names surveillance, identity linkage, automation, secrecy, false positives, or due-process harm. It loses value when it becomes posture without evidence.', 'two-identities-anonymous' ),
			),
		),
	);

	$items = $route_notes[ $parent_slug ] ?? array(
		array(
			'label' => __( 'Main claim', 'two-identities-anonymous' ),
			'text'  => sprintf(
				/* translators: 1: dossier title, 2: parent route title. */
				__( 'When reading %1$s, identify the claim that makes it part of the larger %2$s route and the record that would let a skeptical reader check it.', 'two-identities-anonymous' ),
				$title,
				$parent_title
			),
		),
		array(
			'label' => __( 'Source limit', 'two-identities-anonymous' ),
			'text'  => sprintf(
				/* translators: %s: evidence source class. */
				__( 'Start with %s then separate what it proves from what it merely suggests.', 'two-identities-anonymous' ),
				lcfirst( $first_evidence )
			),
		),
		array(
			'label' => __( 'Reader use', 'two-identities-anonymous' ),
			'text'  => __( 'The best reading result is a clearer public question, a better records request, a correction path, or a more careful way to cite the issue.', 'two-identities-anonymous' ),
		),
	);

	return $items;
}

/**
 * Return concrete public questions that deepen a detail page.
 *
 * @param array $page    Section-backed child route definition.
 * @param array $section Section definition.
 * @param array $dossier Dossier payload.
 * @return array
 */
function twoia_get_virtual_dossier_public_questions( $page, $section, $dossier ) {
	$title        = isset( $section['title'] ) ? wp_strip_all_tags( $section['title'] ) : $page['title'];
	$body         = isset( $section['body'] ) ? wp_strip_all_tags( $section['body'] ) : '';
	$parent_slug  = isset( $page['parent_slug'] ) ? sanitize_title( $page['parent_slug'] ) : '';
	$parent_title = isset( $page['parent_page']['title'] ) ? wp_strip_all_tags( $page['parent_page']['title'] ) : '';
	$evidence     = twoia_virtual_text_items( $dossier['evidence'] ?? array() );
	$questions    = twoia_virtual_text_items( $dossier['review_questions'] ?? array() );
	$evidence_one = ! empty( $evidence ) ? $evidence[0] : __( 'the record category, public decision, policy, source note, or correction trail that would support the claim', 'two-identities-anonymous' );
	$question_one = ! empty( $questions ) ? $questions[0] : __( 'what would prove, narrow, dispute, or correct the claim', 'two-identities-anonymous' );