Support

Account

Forum Replies Created

  • I solved it. Maybe it could be a better code. But it works and i’m happy with it. 🙂

    <?php 
    			$posts = get_posts(array('meta_key'	=> 'haus'));
    			if( $posts ) {
    				$anzhaus = array();
    				foreach( $posts as $post ) {
    					setup_postdata( $post );
    					$anzhaus[] = get_field('haus'); 
    				}; //foreach( $posts as $post )
    				$uniquehaus = array_unique($anzhaus);			
    				foreach( $uniquehaus as $hpost ) {
    					setup_postdata( $hpost );
    					echo('<div class="hausbox"><div class="Haustitel">'.$hpost.'</div>');
    						$args = array('meta_query'	=> array('relation'		=> 'AND',	array('key'		=> 'geschoss'),	array('value'		=> $hpost)	));
    						$the_query = new WP_Query( $args );
    						if( $the_query->have_posts() ) {
    							$anzgeschoss = array();
    							while ( $the_query->have_posts() ) {
    								$the_query->the_post();
    								$anzgeschoss[] = get_field('geschoss');
    							};
    							$uniquegeschoss = array_unique($anzgeschoss);
    							foreach ($uniquegeschoss as $geschoss) {
    							echo'<div class="geschossbox"><div class="Geschosstitel">'.$geschoss.'</div>';																			
    								$wohnargs = array('meta_query'	=> array('relation'		=> 'AND',	array('value'		=> $geschoss),	array('value'		=> $hpost)	));																		
    								$wohn_query = new WP_Query( $wohnargs );
    								if( $wohn_query->have_posts() ) {																						
    									while( $wohn_query->have_posts() ) {
    										$wohn_query->the_post(); ?>
    										<div class="Wohnungsbox"> //here we go!!!
    											
    
    									</div>
    							<?php };
    									}; ?>
    								</div>	
    							<?php		};
    						};
    						wp_reset_query();	 // Restore global post data stomped by the_post(). 
    					echo('</div>'); //hausbox
    				} //foreach( $uniquehaus as $hpost )
    			}; //if( $posts )
    			wp_reset_query();	 // Restore global post data stomped by the_post().
     		?>
  • One step further…. this works for the first loop:

    
    <?php 
       $posts = get_posts(array('meta_key'	=> 'Content'));
       if( $posts ) {
          $anzContent = array();
          foreach( $posts as $post ) {
             setup_postdata( $post );
             $anzContent[] = get_field('Content'); 
          }; //foreach( $posts as $post )
          $uniqueContent = array_unique($anzContent);			
          foreach( $uniqueContent as $contentboxes ) {
             setup_postdata( $contentboxes );
             echo('<div class="Contentbox">');
             echo($contentboxes);
             echo('</div>'); //Contentbox
          } //foreach( $uniqueContent as $contentboxes )
       }; //if( $posts )
       wp_reset_query();
    ?>
    

    To get the Contentboxes i did 2 loops. One loop to get all Content values of all posts (like A,A,B,E,D,D,D).
    then I put this array in an array_unique to get each value only once (A,B,E,D)
    For each of this array_unique_values i createt a <div>.
    This works so far.

    Now i tried to get the wraps of each Contentbox the same way:

    
    <?php 
       $posts = get_posts(array('meta_key'	=> 'Content'));
       if( $posts ) {
          $anzContent = array();
          foreach( $posts as $post ) {
             setup_postdata( $post );
             $anzContent[] = get_field('Content'); 
          }; //foreach( $posts as $post )
          $uniqueContent = array_unique($anzContent);			
          foreach( $uniqueContent as $contentboxes ) {
             setup_postdata( $contentboxes );
             echo('<div class="Contentbox">');
    
                $wraps = get_posts(array('meta_value' => $contentboxes));
                if( $wraps ) {
                   $anzwraps = array();
                   foreach( $wraps as $wrap ) {
                      setup_postdata( $wrap );
                      $anzwraps[] = get_field('wrap'); 
                   }; //foreach( $wraps as $wrap )
                   $uniquewrap = array_unique($anzwraps);			
                   foreach( $uniquewrap as $thiswrap ) {
                      setup_postdata( $thiswrap );
                      echo('<div>');
                      echo($thiswrap);
                      echo('</div>');
                    };
                 };		
    
             echo('</div>');
          };
       };
       wp_reset_query();
    ?>
    

    This is not working. It echoes the same value each contentbox. Why? I don’t get it… 🙁

Viewing 2 posts - 1 through 2 (of 2 total)