Support » Plugins » Zwei DIV container in einem zusammenführen mit unterschiedlichen Variablen

  • Hallo zusammen,

    ich habe hier drei Preisfelder erstellt, die auf der beigefügten URL (https://staging-bceedde.kinsta.cloud/firmenevent/oktoberfest/) in der rechten Sidebar zu sehen sind. Ich möchte aus diesen drei Balken einen machen, sodass die Preisangaben alle auf grauem Hintergrund (hier die Klasse vc_acf preis vc_txt_align_left) sind.

    Ich bekomme das leider nicht so hin, wie ich gern hätte – entweder es zerschießt sich oder es kommt ein PHP Fehler – wie kann ich also einen einzigen DIV Container für alle drei Preisstaffeln bauen?

    Folgende Herausforderung:

    – die Anzeige basiert auf der Angabe, ob es einen Sonderpreis gibt oder nicht – daher ist die „else“ Variable im Code eingebaut. Wenn kein Sonderpreis im Feld im Backend Post Type eingefügt wurde, kommt also nur der Standardpreis zum Tragen.
    Ein Blur Effekt zeigt den „Streichpreis“ jeweils.

    Hier nochmal das Beispiel mit Sonderpreisen:
    https://staging-bceedde.kinsta.cloud/firmenevent/oktoberfest/
    Und hier ohne:
    https://staging-bceedde.kinsta.cloud/firmenevent/daiquiri-beach-club/

    Code klappt und sieht auch ganz ok aus – möchte nur eben daraus einen Kasten machen.

    Folgender Gesamtcode besteht:

    	  <?php if ( get_field( 'preis_vor_angebot' ) ): ?>
    
                <?php
    $class = '';
    if( get_field('preis_vor_angebot') ) {
     $class = 'streich';
    }
    ?>
    <div class="vc_acf preis vc_txt_align_left">
    <?php the_field('teilnehmer_1'); ?> Personen: <?php the_field('preis_klasse_1'); ?> €
      </span> p.P.
      
      <span class="blur">
    
    <span class="preise <?php echo $class; ?>">
      <?php the_field('preis_vor_angebot'); ?> € p.P.</span>
    </span>
    
    </div>
    
                                    <?php else: ?>
    
                                    <?php if( get_field('preis_klasse_1') ): ?>
              <div class="vc_acf preis vc_txt_align_left"><?php the_field('teilnehmer_1'); ?> Personen: <span class="preise"><?php the_field('preis_klasse_1'); ?> €</span> p.P.</div>
    								<?php endif; ?>
    								<?php endif; ?>
    
     <?php if ( get_field( 'preis_vor_angebot_2' ) ): ?>
    
                <?php
    $class = '';
    if( get_field('preis_vor_angebot_2') ) {
     $class = 'streich';
    }
    ?>
    <div class="vc_acf preis vc_txt_align_left">
    <?php the_field('teilnehmer_2'); ?> Personen: <?php the_field('preis_klasse_2'); ?> €
      </span> p.P.
                  <span class="blur">
    
    <span class="preise <?php echo $class; ?>">
      <?php the_field('preis_vor_angebot_2'); ?> € p.P.</span>
    </span>
    
    </div>
    
                                    <?php else: ?>
    
                                    <?php if( get_field('preis_klasse_2') ): ?>
              <div class="vc_acf preis vc_txt_align_left"><?php the_field('teilnehmer_2'); ?> Personen: <span class="preise"><?php the_field('preis_klasse_2'); ?> €</span> p.P.</div>
    								<?php endif; ?>
    								<?php endif; ?>
    
                                    <?php if ( get_field( 'preis_vor_angebot_3' ) ): ?>
    
                <?php
    $class = '';
    if( get_field('preis_vor_angebot_3') ) {
     $class = 'streich';
    }
    ?>
    <div class="vc_acf preis vc_txt_align_left">
    <?php the_field('teilnehmer_3'); ?> Personen: <?php the_field('preis_klasse_3'); ?> €
      </span> p.P.
                  <span class="blur">
    
    <span class="preise <?php echo $class; ?>">
      <?php the_field('preis_vor_angebot_3'); ?> € p.P.</span>
    </span>
    
    </div>
    
                                    <?php else: ?>
    
                                    <?php if( get_field('preis_klasse_3') ): ?>
              <div class="vc_acf preis vc_txt_align_left"><?php the_field('teilnehmer_3'); ?> Personen: <span class="preise"><?php the_field('preis_klasse_3'); ?> €</span> p.P.</div>
    								<?php endif; ?>
    								<?php endif; ?>

    Kann mir hierzu jemand helfen?

    Viele Grüße

    • Dieses Thema wurde geändert vor 4 Jahren, 2 Monaten von Philipp.

    Die Seite, für die ich Hilfe brauche: [Anmelden, um den Link zu sehen]

Ansicht von 1 Antwort (von insgesamt 1)
  • Das ist unformatierter, schlampig programmierter Code.

    Beispiel:

    <?php if ( get_field( 'preis_vor_angebot' ) ): ?>
    
                <?php
    $class = '';
    if( get_field('preis_vor_angebot') ) {
     $class = 'streich'; …

    Hier wiederholt sich die erste if-Abfrage, was danach kommt ist schlecht lesbar verschachtelt, usw. 

    Wir leisten hier in unserer freien Zeit gerne bei Anwendungsfragen zu WordPress Hilfe zur Selbsthilfe. Wenn du PHP programmieren lernen möchtest, gibt es dafür passendere Foren.

    Da das Thema hier off topic ist, weil wir hier keine Programmiergrundlagen vermitteln können, schließe ich den Thread.

Ansicht von 1 Antwort (von insgesamt 1)
  • Das Thema „Zwei DIV container in einem zusammenführen mit unterschiedlichen Variablen“ ist für neue Antworten geschlossen.