Ga naar inhoud

Predikantenoverzicht

Doel & URL('s)

Doorzoekbaar en sorteerbaar overzicht van alle predikanten (gebruikers met rol pastor), inclusief contactgegevens en gemeentehistorie. Publiek toegankelijk.

  • URL: /over-de-gb/predikanten/ — pagina #7249 met template template-pastors-overview.
  • Interactie via GET-parameters: ?search={term} en ?sort={optie} (combineerbaar).

Gerelateerde functionaliteit

Predikanten wijzigen hun eigen gegevens via /predikant-gegevens/ (alleen rol pastor; zie accountsectie). Een Excel-export van de predikantenlijst is aan te vragen via /predikanten-export-aanvragen/ (zie formulieren-/accountsectie). De detail-URL's /predikanten/{slug}/ van het author-CPT zijn kapot (zie Bekende afwijkingen).

Opbouw

  1. h1 = paginatitel + introblokken van de pagina.
  2. Teller: "{n} predikanten gevonden" (productie: 645 zonder filter).
  3. Zoekveld + sorteer-select (auto-submit bij wijziging).
  4. Melding "Wilt u uw gegevens wijzigen? … inloggen" met link naar de inlogpagina.
  5. Grid (3 kolommen) van predikantkaarten (c-pastor-preview); per kaart:
    • Naam: aanhef (titel) + voornaam + tussenvoegsel + achternaam.
    • Woonplaats met pin-icoon.
    • Definitielijst: adres + postcode, telefoon, mobiel, e-mail, geboortedatum (d/m/Y), functie (behalve de placeholder-waarde "Maak een keuze") — elk alleen indien gevuld.
    • Tijdlijn met gemeentehistorie: per gemeente plaats + periode "van–tot", nieuwste eerst.
  6. Lege zoekresultaten: "Geen predikanten gevonden voor "{term}"." + teruglink.

Er is géén paginering: alle resultaten staan op één pagina.

Databronnen

Gegeven Bron
Predikanten WP_User_Query op rol pastor (645 gebruikers op productie)
Naam Usermeta user_title (aanhef), first_name, user_suffix (tussenvoegsel), last_name
Contact Usermeta profile_pastor_city, profile_pastor_address, profile_pastor_zipcode, profile_pastor_phone, profile_pastor_mobile_phone, profile_pastor_email
Geboortedatum / functie Usermeta profile_pastor_date_of_birth, profile_category
Gemeentehistorie Usermeta profile_history (+ _from, _to, _place per rij)
Sorteerdatum Usermeta profile_most_recent_from_date (numeriek; gevuld bij profielupdate via het predikantenformulier)

Gedrag & rollen

  • Publiek — geen login vereist; alle 645 profielen zijn anoniem zichtbaar.
  • Zoeken (?search=): LIKE-zoekopdracht over voornaam, achternaam, telefoon, functie, adres, postcode, gemeentehistorie, provincie en woonplaats. De teller toont het aantal treffers.
  • Sorteren (?sort=, select met auto-submit):

    Waarde Sortering
    name (default) achternaam A→Z
    city woonplaats A→Z
    category functie, daarbinnen achternaam
    date-old-new meest recente intrededatum, oplopend (numeriek)
    date-new-old meest recente intrededatum, aflopend
  • Scraping-bescherming: telefoon, mobiel en e-mail staan als HTML-entities in de bron (geobfusceerd), maar zijn normaal leesbaar in de browser.

  • Predikanten kunnen zich via hun profielformulier afmelden voor de Excel-export (opt-out); dat beïnvloedt dit publieksoverzicht niet.

Acceptatiecriteria

  • Als anonieme bezoeker op /over-de-gb/predikanten/ krijg ik HTTP 200 en zie ik de teller "{n} predikanten gevonden" met het volledige aantal predikanten.
  • Als bezoeker zoek ik op een plaatsnaam via het zoekveld, dan herlaadt de pagina met ?search={term}, toont uitsluitend predikanten van wie naam/plaats/adres/functie/historie de term bevat en klopt de teller met het aantal kaarten.
  • Als bezoeker zoek ik op een niet-voorkomende term, dan verschijnt "Geen predikanten gevonden voor "{term}"." met een teruglink naar het onbeperkte overzicht.
  • Als bezoeker kies ik een sorteeroptie in de select, dan wordt het formulier automatisch verzonden en is de lijst gesorteerd volgens de gekozen optie (achternaam, woonplaats, functie of intrededatum op-/aflopend).
  • Als bezoeker toont elke predikantkaart alleen de gevulde gegevens; de functiewaarde "Maak een keuze" wordt nooit getoond.
  • Als bezoeker toont de gemeentehistorie-tijdlijn de gemeenten met periode, nieuwste bovenaan.
  • Als bezoeker zijn telefoonnummers en e-mailadressen leesbaar in de browser, maar staan ze niet als platte tekst in de HTML-bron (entity-geobfusceerd).
  • Als bezoeker staat boven de lijst de melding met inloglink voor predikanten die hun gegevens willen wijzigen.
  • Als bezoeker combineer ik ?search= en ?sort=, dan worden filter én sortering beide toegepast.

Bekende afwijkingen

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

  1. Detailpagina's van predikanten zijn kapot: het CPT author heeft rewrite-slug predikanten, maar die botst met de gereserveerde WP-queryvar author, waardoor /predikanten/{slug}/ altijd 404 geeft. Deze URL's staan wél in de Yoast-sitemap (ruim 1000 stuks). Rebuild-beslispunt: detailpagina's bewust niet bouwen (en uit de sitemap houden) of alsnog realiseren.
  2. Geen paginering: alle (645) resultaten renderen op één pagina; er is een pagineringspartial aanwezig maar de user-query pagineert niet. Rebuild-beslispunt: paginering/lazy loading toevoegen.
  3. De sorteeropties op intrededatum werken alleen correct voor profielen waarvan profile_most_recent_from_date gevuld is (gebeurt bij een profielupdate via het formulier); oudere profielen zonder die meta sorteren onvoorspelbaar mee.

Persoonsgegevens

Dit scherm toont persoonsgegevens (adres, telefoon, e-mail, geboortedatum) van echte predikanten. In testrapporten en documentatie geen echte gegevens overnemen; gebruik testaccounts.