function wbmz_kwhcalc( $atts , $content = null ) {
// Attributes
$atts = shortcode_atts(
array(
'aantal' => '',
'paneel' => '',
//'tekst' => '',
),
$atts,
'kwhcalc'
);
$aantal = $atts['aantal'];
$paneel = $atts['paneel'];
$tekst = $atts['tekst'];
$kwhprijs = get_field('kwh_prijs','options');
$factor = get_field('opbrengst_factor','options');
/* Haal tekst op
if( have_rows('tekst_kwh','options') ):
while( have_rows('tekst_kwh','options') ): the_row();
$tekst_id = get_sub_field('tekst_id');
$tekst_sub = get_sub_field('tekst');
if( $tekst_id == $tekst ):
$tekst_vervanging = $tekst_sub;
endif;
endwhile;
endif;
*/
// Haal wattpiek op
if( have_rows('panelen','options') ):
while( have_rows('panelen','options') ): the_row();
$paneel_id = get_sub_field('paneel_id');
$wattpiek_sub = get_sub_field('wattpiek');
$prijs_koop_sub = get_sub_field('prijs_koop');
$prijs_huur_maand_sub = get_sub_field('prijs_huur');
if( $paneel_id == $paneel ):
$wattpiek = $wattpiek_sub;
$prijs_koop = $prijs_koop_sub;
$prijs_huur_maand = $prijs_huur_maand_sub;
endif;
endwhile;
endif;
// vervangingen in tekst
$vermogen_kwh = $wattpiek * $aantal; // 4380
$opbrengst_kwh_jaarlijks = $vermogen_kwh * $factor; // 3723
$besparing_eur_jaarlijks = $opbrengst_kwh_jaarlijks * $kwhprijs; // 930,75
$opbrengst_eur_maandelijks = $besparing_eur_jaarlijks / 12; // 77,5625
$prijs_koop_totaal = $prijs_koop * $aantal;
$prijs_huur_maand_totaal = $prijs_huur_maand * $aantal;
$prijs_huur_jaar_totaal = $prijs_huur_maand_totaal * 12;
$terugverdientijd_huur_raw = $prijs_huur_jaar_totaal / $besparing_eur_jaarlijks;
$achterkomma_huur = substr($terugverdientijd_huur_raw, strpos($terugverdientijd_huur_raw, ",") + 1);
$voorkomma_huur = substr($terugverdientijd_huur_raw, strpos($terugverdientijd_huur_raw, ",") - 1);
$achterkomma_huur_maanden = $achterkomma_huur * 12; // 12 = maanden
$terugverdientijd_huur = $voorkomma_huur . ' jaar en ' . round($achterkomma_huur_maanden) . ' maanden';
$prijs_koop_totaal = $prijs_koop * $aantal;
$terugverdientijd_koop_raw = $prijs_koop_totaal / $besparing_eur_jaarlijks;
$achterkomma_koop = substr($terugverdientijd_koop_raw, strpos($terugverdientijd_koop_raw, ",") + 1);
$voorkomma_koop = substr($terugverdientijd_koop_raw, strpos($terugverdientijd_koop_raw, ",") - 1);
$achterkomma_koop_maanden = $achterkomma_koop * 12; // 12 = maanden
$terugverdientijd_koop = $voorkomma_koop . ' jaar en ' . round($achterkomma_koop_maanden) . ' maanden';
$vars = array(
"[AANTAL_PANELEN]" => $aantal,
"[VERMOGEN]" => $vermogen_kwh,
"[OPBRENGST_KWH]" => $opbrengst_kwh_jaarlijks,
"[WATTPIEK]" => $wattpiek,
"[PRIJS_HUUR_MAAND]" => '€ '.number_format($prijs_huur_maand_totaal, 2, ',', ''). ' per maand',
"[PRIJS_HUUR_JAAR]" => '€ '.number_format($prijs_huur_jaar_totaal, 2, ',', ''). '',
"[PRIJS_KOOP]" => '€ '.number_format($prijs_koop_totaal, 2, ',', ''),
"[BESPARING_MAANDELIJKS]" => '€ '.number_format($opbrengst_eur_maandelijks, 2, ',', ''),
"[BESPARING_JAARLIJKS]" => '€ '.number_format($besparing_eur_jaarlijks, 2, ',', ''),
"[TERUGVERDIENTIJD_HUUR]" => $terugverdientijd_huur,
"[TERUGVERDIENTIJD_KOOP]" => $terugverdientijd_koop,
);
$tekst = strtr($content, $vars);
return $tekst;
}
add_shortcode( 'kwhcalc', 'wbmz_kwhcalc' );
#acf #berekening #functions #kwh #shortcode #tekst #vervanging