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' );
Geef een reactie 0