function bp_ensure_pc6( string $pc6 ): bool {
if ( ! function_exists('bp_db') ) return false;
$pc6 = strtoupper( str_replace(' ', '', $pc6) );
// Validate format
if ( ! preg_match('/^\d{4}[A-Z]{2}$/', $pc6) ) return false;
// ── Step 1: ensure PC6 exists in PDOK ────────────────────────
$pdok = bp_db()->get_row(
bp_db()->prepare(
"SELECT * FROM PDOK WHERE PC6 = %s",
$pc6
)
);
if ( empty($pdok) ) {
// Fetch from PDOK Locatieserver API
$url = 'https://api.pdok.nl/bzk/locatieserver/search/v3_1/free?'
. http_build_query([
'q' => $pc6,
'fq' => 'type:postcode',
'rows' => 1,
'fl' => 'id,weergavenaam,gemeentecode,gemeentenaam,'
. 'woonplaatsnaam,straatnaam,postcode,'
. 'provinciecode,provincienaam,centroide_ll'
]);
$response = wp_remote_get( $url, ['timeout' => 5] );
if ( is_wp_error($response) ) return false;
$body = json_decode( wp_remote_retrieve_body($response), true );
$doc = $body['response']['docs'][0] ?? null;
if ( empty($doc) ) return false; // PC6 doesn't exist in PDOK either
// Insert into PDOK table
bp_db()->insert( 'PDOK', [
'PC6' => $pc6,
'woonplaatsnaam' => $doc['woonplaatsnaam'] ?? '',
'gemeentecode' => $doc['gemeentecode'] ?? '',
'gemeentenaam' => $doc['gemeentenaam'] ?? '',
'provinciecode' => $doc['provinciecode'] ?? '',
'provincienaam' => $doc['provincienaam'] ?? '',
'centroide_ll' => $doc['centroide_ll'] ?? '',
'straatnaam' => $doc['straatnaam'] ?? '',
'weergavenaam' => $doc['weergavenaam'] ?? '',
] );
// Re-fetch so we have a consistent $pdok object below
$pdok = bp_db()->get_row(
bp_db()->prepare("SELECT * FROM PDOK WHERE PC6 = %s", $pc6)
);
}
if ( empty($pdok) ) return false;
// ── Step 2: lookup corop_id via gemeente_corop ────────────────
$gem_code = 'GM' . $pdok->gemeentecode;
$corop_id = bp_db()->get_var(
bp_db()->prepare(
"SELECT corop_id FROM gemeente_corop WHERE gem_code = %s",
$gem_code
)
);
// ── Step 3: ensure PC6 exists in master ───────────────────────
$master = bp_db()->get_row(
bp_db()->prepare("SELECT PC6, woonplaatsnaam, straatnaam, corop_id FROM master WHERE PC6 = %s", $pc6)
);
if ( empty($master) ) {
// INSERT new row
bp_db()->insert( 'master', [
'PC6' => $pc6,
'woonplaatsnaam' => $pdok->woonplaatsnaam,
'straatnaam' => $pdok->straatnaam,
'GemCode' => $gem_code,
'GemNaam' => $pdok->gemeentenaam,
'corop_id' => $corop_id ?: null,
] );
} else {
// UPDATE only NULL fields
$updates = [];
if ( empty($master->woonplaatsnaam) ) $updates['woonplaatsnaam'] = $pdok->woonplaatsnaam;
if ( empty($master->straatnaam) ) $updates['straatnaam'] = $pdok->straatnaam;
if ( empty($master->corop_id) ) $updates['corop_id'] = $corop_id ?: null;
if ( ! empty($updates) ) {
bp_db()->update( 'master', $updates, ['PC6' => $pc6] );
}
}
return true;
}
Bürt.nl: Molenstraat 22, 3882 AD Putten
Molenstraat 22 — 3882 AD Putten
Putten ›
3882 ›
3882 AD ›
Molenstraat 22
Molenstraat 22
is een adres in de straat Molenstraat,
met postcode 3882 AD
in Putten.
Het valt onder de gemeente Putten , in de provincie Gelderland.
De buurt heet Putten-Centrum , wijk Wijk 00 Putten.
Adres
Molenstraat 22, 3882 AD Putten
Postcode
3882 AD
Woonplaats
Putten
Gemeente
Putten
Provincie
Gelderland
Coördinaten
52.25960841, 5.60624546
Gem. WOZ-waarde
344.000 €
Huurmarkt context
Gemiddelde huurprijzen · april 2026 · bron: buert.nl database
Gemeente
De gemiddelde huurprijs per m² in Putten is €31,67. Dat is 3.8% hoger dan het landelijk gemiddelde van €30,50.
Regio
De gemiddelde huurprijs per m² in Veluwe is €27,48. Dat is 9.9% lager dan het landelijk gemiddelde van €30,50.
Provincie
De gemiddelde huurprijs per m² in Gelderland is €26,91. Dat is 11.8% lager dan het landelijk gemiddelde van €30,50.
Regio prijsrange
De goedkoopste huurhuizen in de regio staan in Barneveld (gem. € 16,07/m² ), de duurste in Nijkerk (gem. € 54,14/m² ).
Regio oppervlakte
De grootste huurwoningen in de regio staan in Barneveld (gem. 147 m² ), de kleinste in Wageningen (gem. 28 m² ).
Andere adressen met postcode 3882 AD: Molenstraat 2 , Molenstraat 4 , Molenstraat 6 , Molenstraat 8 , Molenstraat 10 , Molenstraat 12 , Molenstraat 14 , Molenstraat 16 , Molenstraat 18 , Molenstraat 20 , Molenstraat 22 , Molenstraat 24 , Molenstraat 28 , Molenstraat 30 , Molenstraat 32 , Molenstraat 34 , Molenstraat 36 , Molenstraat 38 , Molenstraat 40 , Molenstraat 42 , Molenstraat 46 , Molenstraat 48 .
←
Terug naar postcode 3882 AD