Ga naar inhoud

Nieuws (overzicht en detail)

Doel & URL('s)

Nieuwsberichten van de Gereformeerde Bond: kort actueel nieuws, los van de (WV-)artikelen. Voor alle bezoekers.

  • Overzicht: /nieuws/ (+ paginering /nieuws/page/{n}/) — CPT-archief van gb-post.
  • Detail: /nieuws/{slug}/ — single gb-post.

Overzichts-URL is een CPT-archief

Er bestaat een WP-pagina "Nieuws" (#1599) op dezelfde URL met een verwijzing naar een niet-bestaand template, maar het CPT-archief van gb-post wint de routing. De pagina dient alleen als link-doel in de thema-optie GB_news_archive.

Opbouw

Overzicht /nieuws/

Layout met sidebar rechts:

  1. h1 "Nieuws".
  2. Grid met nieuwsberichten (10 per pagina): de eerste 2 items groot (afbeelding, titel-link, intro, datum), de rest compact (kleiner, zonder intro); 2 kolommen vanaf 576 px.
  3. Genummerde paginering (zonder vorige/volgende-knoppen).
  4. Sidebar rechts: sidebar-CTA + agendablok (2 komende events; verborgen zonder komende events).

Detail /nieuws/{slug}/

Layout met sidebar rechts:

  1. Beeldheader alleen bij een afbeelding (news_image); bij cover-modus (news_image_as_cover) wordt de afbeelding op een vast achtergrondkader getoond. Overlay met subtitel (h3) + titel (h1). Zonder afbeelding: h1 in de content.
  2. Intro als lead-paragraaf (indien gevuld), daarna de hoofdtekst (news_text, wysiwyg).
  3. Footer van het bericht: auteursblok "Over de schrijver" (alleen bij gevulde auteur — op productie nooit) + share-blok "Deel dit nieuwsbericht:" (Facebook/Twitter/LinkedIn).
  4. Sidebar rechts: downloads-blok (indien gevuld), sidebar-CTA, agendablok.

Databronnen

Gegeven Bron
Berichten (overzicht) Alle {prefix}-post-types (gb-post én wv-post) met meta Websites LIKE 'GB'; sortering menu_order ASC, date DESC; 10 per pagina
Afbeelding ACF news_image (fallback: optie GB_fallback_image); cover-modus news_image_as_cover
Intro (overzicht) Eerste 150 tekens platte tekst van news_text + "…"
Hoofdtekst ACF news_text
Downloads ACF downloads
Homepage-vlag ACF display_in_article_section (bericht verschijnt dan in de artikelen-mix op de homepage)
Agendablok 2 eerstvolgende komende GB-events

Velden die in code bestaan maar op productie nooit gevuld zijn: news_author, news_subtitle, news_intro.

Gedrag & rollen

  • Publiek; geen toegangschecks, geen rolverschillen.
  • Cross-sub-site: een WV-nieuwsbericht dat GB-zichtbaar is, krijgt in het overzicht een link met ?t=GB en opent in een nieuw tabblad.
  • Nieuw aangemaakte berichten krijgen automatisch de laagste menu_order en staan daardoor bovenaan.

Acceptatiecriteria

Overzicht

  • Als anonieme bezoeker op /nieuws/ zie ik h1 "Nieuws" en maximaal 10 GB-zichtbare nieuwsberichten, gesorteerd op menu_order/datum (nieuwste bovenaan).
  • Als bezoeker zijn de eerste 2 items groot (afbeelding, titel, intro van max 150 tekens, datum) en de overige compact zonder intro.
  • Als bezoeker op /nieuws/page/2/ zie ik de volgende 10 berichten (andere items dan pagina 1); de paginering toont genummerde links zonder vorige/volgende.
  • Als bezoeker klik ik op een GB-nieuwsbericht, dan navigeer ik in hetzelfde tabblad naar /nieuws/{slug}/.
  • Als bezoeker klik ik op een WV-nieuwsbericht in de GB-lijst, dan opent /de-waarheidsvriend/nieuws/{slug}/?t=GB in een nieuw tabblad.
  • Als bezoeker op een bericht zonder eigen afbeelding, dan toont de lijst de fallback-afbeelding uit de thema-opties.
  • Als bezoeker staat in de sidebar de sidebar-CTA; het agendablok verschijnt alleen als er komende events zijn (max 2).

Detail

  • Als bezoeker op een bericht mét afbeelding zie ik een beeldheader met titel-overlay; zonder afbeelding een gewone h1.
  • Als bezoeker op een bericht met cover-modus wordt de afbeelding op het vaste achtergrondkader getoond.
  • Als bezoeker zie ik de publicatiedatum en de volledige hoofdtekst van het bericht.
  • Als bezoeker staat onder het bericht het share-blok "Deel dit nieuwsbericht:" met drie social-iconen.
  • Als bezoeker op een bericht met downloads staat in de sidebar een downloads-blok met werkende bestandslinks.
  • Als bezoeker geeft een niet-bestaande slug (/nieuws/bestaat-niet/) een 404-pagina met HTTP-status 404.

Bekende afwijkingen

NIET nabouwen in Next.js — wel vermelden in het testrapport

  1. Flexibele blokken op nieuwsberichten worden niet gerenderd: het ACF-veld news_components bestaat, maar de blocks-partial leest de standaard-key components, waardoor die blokken op de site niet verschijnen. Contentmakers gebruiken daarom feitelijk alleen news_text. Rebuild-beslispunt: veld laten vallen of alsnog renderen.
  2. Velden news_author (auteursblok), news_subtitle en news_intro worden gelezen maar zijn op productie nooit gevuld; het auteursblok is dus nergens zichtbaar.
  3. De WP-pagina "Nieuws" (#1599) is onbereikbaar (overschaduwd door het CPT-archief) en verwijst naar een niet-bestaand template; alleen relevant als link-doel.
  4. 125 legacy nieuwsberichten (verborgen ingebouwd post type post) zijn nog bereikbaar op hun root-URL /{slug}/ en renderen met de nieuwsbericht-weergave; ze staan niet in archief, zoekindex of sitemap. Rebuild-beslispunt: redirecten, behouden of 404.