-
-
Save ashleycam3ron/7db3b02b461be1614faedd019ed87fe3 to your computer and use it in GitHub Desktop.
<?php if ( is_user_logged_in() ) { ?> | |
<h1>Firmware Updates</h1> | |
<?php $current_user = wp_get_current_user(); ?> | |
<h3 style="margin-bottom: 6px;">Welcome, <?php echo $current_user->user_firstname; ?>!</h3> | |
<p>Your registered product software and updates are listed below.<br/> | |
Need to register another product on your account? Please fill out a <a data-fancybox href="#updateaccount">request form</a>.</p> | |
<?php // Software notes | |
if( have_rows('products', $userID) ): ?> | |
<?php while( have_rows('products', $userID) ): the_row(); | |
$product = get_sub_field('product'); //get repeater post object | |
if ($product): | |
$productpost = $product; | |
setup_postdata( $productpost ); ?> | |
<?php //while there are software update posts | |
while ( have_posts() ) : the_post(); ?> | |
<?php if (!in_category( 'archive' )){ ?> | |
<?php // Get product update product_relationship | |
$relationship = get_field('product_relationship'); | |
if( $relationship ): | |
$i = 0; | |
foreach( $relationship as $product) : ?> | |
<?php //if user product ID equals firmware relationship ID | |
if ( $productpost->ID === $product->ID){ | |
$productID = $product->ID; | |
$note = get_field('notes'); | |
if ($note){ ?> | |
<?php if ($i == 1){?> | |
<div class="notes clear"> | |
<h3>Software Notes</h3> | |
<?php } ?> | |
<?php echo $note;?> | |
<?php if( $i == ( count( $relationship ) + 1 ) ){ ?> | |
</div> | |
<?php } ?> | |
<?php } ?> | |
<?php } ?> | |
<?php endforeach; ?> | |
<?php endif; //end product_relationship ?> | |
<?php } //end check for archive ?> | |
<?php endwhile; ?> | |
<?php wp_reset_postdata(); //reset user productpost setup ?> | |
<?php endif; ?> | |
<?php endwhile; ?> | |
<?php endif; ?> | |
<h1 style="margin-bottom: -20px;">Software Downloads</h1> | |
<?php // Get products user is registered for | |
if( have_rows('products', $userID) ): ?> | |
<?php while( have_rows('products', $userID) ): the_row(); | |
$product = get_sub_field('product'); //get repeater post object | |
if ($product): | |
$productpost = $product; | |
setup_postdata( $productpost ); | |
$i = 0; ?> | |
<?php //while there are software update posts | |
while ( have_posts() ) : the_post(); ?> | |
<?php // Get product update product_relationship | |
$relationship = get_field('product_relationship'); | |
if( $relationship ): ?> | |
<?php foreach( $relationship as $product): ?> | |
<?php //if user product ID equals software relationship ID | |
if ( $productpost->ID === $product->ID){ | |
$productID = $product->ID; ?> | |
<?php if (!in_category( 'archive' )){ ?> | |
<article class="updates"> | |
<?php get_template_part( 'template-parts/product-updates' ); ?> | |
<?php get_template_part( 'template-parts/firmware-sdp' ); ?> | |
</div> | |
</article> | |
<?php } ?> | |
<?php } ?> | |
<?php endforeach; ?> | |
<?php endif; //end product_relationship ?> | |
<?php endwhile; ?> | |
<?php wp_reset_postdata(); //reset user productpost setup ?> | |
<?php endif; ?> | |
<?php endwhile; ?> | |
<?php endif; ?> | |
<?php //rewind_posts(); ?> | |
<?php //reset_rows(); ?> | |
<h1>Archive</h1> | |
<?php if( have_rows('products', $userID) ): | |
while( have_rows('products', $userID) ): the_row(); | |
$product = get_sub_field('product'); //get repeater post object | |
if ($product): | |
$productpost = $product; | |
setup_postdata( $productpost ); ?> | |
<?php //while there are software update posts | |
while ( have_posts() ) : the_post(); | |
if (in_category( 'archive' )){ ?> | |
<?php // Get product update product_relationship | |
$relationship = get_field('product_relationship'); | |
if( $relationship ): ?> | |
<?php foreach( $relationship as $product): ?> | |
<?php //if user product ID equals software relationship ID | |
if ( $productpost->ID === $product->ID){ | |
$productID = $product->ID; | |
echo $post->ID;?> | |
<div class="accordion updates"> | |
<header> | |
<h2><?php the_title(); ?></h2> | |
<?php if ( get_field('release') ){ ?> | |
<span>Released <?php the_field('release'); ?></span> | |
<?php } ?> | |
</header> | |
<div class="body"> | |
<?php if ( get_field('notes') ){ ?> | |
<h3>Software Notes</h3> | |
<?php the_field('notes'); ?> | |
<?php } ?> | |
<?php get_template_part( 'template-parts/product-updates-archive' ); ?> | |
<?php get_template_part( 'template-parts/firmware-sdp' ); ?> | |
<h4>User Documentation</h4> | |
<ul> | |
<!-- !User Guides Archive[edit: Product]--> | |
<?php get_template_part( 'template-parts/firmware-user-guides-archive' ); ?> | |
</ul> | |
</div> | |
</div> | |
<?php } ?> | |
<?php endforeach; ?> | |
<?php endif; //end product_relationship ?> | |
<?php } //end check for archive ?> | |
<?php endwhile; ?> | |
<?php //rewind_posts(); ?> | |
<?php wp_reset_postdata(); //reset user productpost setup ?> | |
<?php endif; ?> | |
<?php endwhile; endif;?> | |
<?php } //end if user logged in?> |
Hi Ashley
For the Heading 'Software Notes' appearing twice you have made a classic error on line - <?php if ($i = 1){?>
should be <?php if ($i == 1){?>
- == not = ! . Also you never manipulate this variable so just that change will not work. Line 27 shoud be $i = 1;
then line 42 should be <?php $i++; } ?>
- increment $i so you dont put out the heading on the next loop.
Ok let me look at your other issue ...
Ok that second major loop is making my head spin! Been a long day and the football is on now so maybe I can look tommorrow!
@realj42 Thank you so much!! I've been smashing my brain on this thing for hours on different days. So much appreciate your time to look and comment. Do you know how I might end that div
on Line 46 properly to wrap the heading and note items in just one div?
If you mean you want one div for all notes and the heading, and you can't just declare the <div> & </div>
at lines 28 & 49 resp. (I assume that would create an empty box if no, uh, relationships) then you cannot do it with your current approach, using inline html. Really what you need to do is build each section as seperate variables then put them together once they are all built, deciding then if you need the section divs if the corresponding variable has some content.
Sorry bit too busy to fully explain right now but catch me next week if you still need some help!
@realj42 - you were much quicker on responding than I anticipated. I just updated - think I found a solution. I'm still having the issue with the archives repeating. Understand and appreciate your response! Take care. I'll comment back if this isn't resolved.
@realj42 It's a miracle! Got the archive duplicate solved. I moved the while
and if
on Lines 115 & 116 inside the relationship after Line 126. Thank goodness I can move on to something else now!! I appreciate your help again. Thank you. I'm still not sure I really solved the end div inside the software notes but I'll try that another day.
2 issues - software notes heading repeating; archive posts outputting twice.
![Screen Shot 2020-03-03 at 12 13 15 PM](https://user-images.githubusercontent.com/1031849/75805948-b1e21b00-5d7a-11ea-8dbd-8246d15e2d96.png)
![Screen Shot 2020-03-03 at 12 13 22 PM](https://user-images.githubusercontent.com/1031849/75805955-b60e3880-5d7a-11ea-9f67-eaca5de11088.png)