Support

Account

Home Forums Search Search Results for 'event date repeater'

Search Results for 'event date repeater'

topic

  • Solved

    Database corruption after re-importing updated fieldgroup

    Some oddness going on. I made a fieldgroup for Project1 with a complex repeater/layout system. I then exported this fieldgroup to a separate Project2 and improved on the complex beast further. I then exported/imported the upgraded fieldgroup back to hopefully upgrade Project1.

    It seemed to overwrite the original fieldgroup without a problem. However, with usage of the site, saving posts, etc, I noticed some ACF fields saved on the home page began to duplicate themselves. Then I noticed the acf fieldgroup fields themselves began to shift around and duplicate. The ACFfieldgroup itself eventually duplicated as well.

    I assume this is a problem caused by the upgraded/modified fieldgroup conflicting with the old fieldgroup (bearing the same name/id)

  • Solving

    wp_query and meta_query for repeater field values

    I’ve got a wp_query that queries posts under a custom post type Events, and uses meta_query to filter posts by values of a repeater field, to filter events that are in the future or past. The events are set up with a repeater for dates and times. The query used to work, but according to ACF’s documentation (https://www.advancedcustomfields.com/resources/query-posts-custom-fields/ looking specifically at “4. Sub custom field values”), as of WordPress 4.8.3 the code needed to be changed in order to work. I replaced the % in the query args with $ characters, but had no luck. I tried also adding the filter that it says you now need, replacing their “location” with my custom field of “dates_repeater” but I end up with a broken page and 500 error. Below is my code. Without the filter taken from the documentation, it brings up no results, with it, a 500 error.

    // filter
    function my_posts_where( $where ) {
    
    	$where = str_replace("meta_key = 'dates_repeater_$", "meta_key LIKE 'dates_repeater_%", $where);
    
    	return $where;
    }
    
    add_filter('posts_where', 'my_posts_where');
    
    $today = current_time('Ymd');
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    $args = array(
    	'post_type' => 'event',
    	'post_status' => 'publish',
    	'posts_per_page' => '8',
    	'meta_query' => array(
    		'relation'		=> 'AND',
    		array(
    			'key' => 'dates_repeater_$_event_date',
    			'compare' => '>=',
    			'value' => $today,
    		),
    		array(
    			'key' => 'event_type',
    			'compare' => '=',
    			'value' => 'biocom',
    		),
    	),
    	'meta_key' => 'dates_repeater_$_event_date',
    	'orderby' => 'meta_value',
    	'order' => 'ASC',
    	'paged' => $paged,
    );
  • Helping

    Two Issues… Repeater Display and DateTime 1970

    Hi there all, hoping I can get some assistance with a project I am working on that is stumping me at two junctions. The first has to do with repeater fields. No matter what I do, I can not get a repeater field to show any values whatsoever. I have tried a great number of codes that I have found across the web. I figured it may be easier to explain what I am looking to accomplish and then what my fields look like.

    I have created a custom post type for events in wordpress via a plugin and I am looking to use the single-events.php page to display the custom fields that are assigned to the post type. See the ACF screenshot attached to see how the fields are named. Ive tried to loop through the rows with the instructions for the repeater field here on the support site. My goal is to display the two repeater fields info in the format:

    option_name – option_price

    The second issue im having is with a code that I used to conditionally display the when information for an event based on it being either a multi day event or a single day event. The difference between the two being that an all day event is only from a date to a date and a single day event is from a date and from time to a to time. Everything works, except no matter what I do the $start_date_only always reports back the UNIX default 1970 date. Any help on both matters would be greatly appreciated, Im a week into PHP and stumped on these two.

    CODE:

                        <div class="row" align="center"><h3>WHEN</h3></div>
                        <?php
                        $event_type = get_field('event_type');
                        $start_date = get_field('event_start');
                        $start_date = date("F j, Y g:i a", strtotime($start_date));
                        $start_date_only = new DateTime($start_date);
                        $start_date_only = $start_date_only->format('F j, Y');
                        $start_time_only = new DateTime($start_date);
                        $start_time_only = $start_time_only->format('g:i a');
                        $end_date = get_field('event_end_date');
                        $end_date = date("F j, Y g:i a", strtotime($end_date));
                        $end_date_only = new DateTime($end_date);
                        $end_date_only = $end_date_only->format('F j, Y');
                        $end_time_only = new DateTime($end_date);
                        $end_time_only = $end_time_only->format('g:i a');
    
                        ob_start(); //Start output buffer
                        echo $start_date_only . " to " . $end_date_only;
                        $start_end_date = ob_get_contents(); //Grab output
                        ob_end_clean(); //Discard output buffer
                        ob_start(); //Start output buffer
                        echo $start_date_only . " from " . $start_time_only . " to " . $end_time_only;
                        $date_and_time = ob_get_contents();
                        ob_end_clean(); //Discard output buffer
                        ?>
                        <div class="row" align="center"><h3><?php echo "$start_end_date"; ?></h3></div>
                        <div class="row">
                            <div class="row" align="center"><h3>WHERE</h3></div>
                            <div class="row" align="center"><h3><?php the_field('event_location_name') ?><br><?php the_field('event_location_address'); ?></h3></div>
                        </div>
  • Helping

    Repeater Row Not Rendering

    I’m having an issue with the third row ‘events‘ only one field is rendering event_ticket_url, all other fields are not showing up at all.

    shows and hero work fine. maybe I’m missing somthing

    <?php
    
    /*
    Template Name: Home
    */
    
    ?>
    
    <?php get_header(); ?>
    <div class="slider">
    <div class='rotator'>
            <?php if( have_rows('home-slider') ): ?>
    
                	<?php while( have_rows('home-slider') ): the_row(); 
    
    		// vars
    		$image = get_sub_field('hero');?>
    
    		
    
    				<div class="image-sliders" style="background-image: url('<?php echo $image["url"]; ?>');"></div>
     
     		<?php endwhile; ?>
    
    		 <?php endif; ?>
    
     </div>
     </div>
    	<div id="primary" class="content-area">
    		<main id="main" class="site-main">
    
          			<?php
    			while ( have_posts() ) : the_post();
    
    				get_template_part( 'template-parts/content', 'home' );
    
    				// If comments are open or we have at least one comment, load up the comment template.
    				if ( comments_open() || get_comments_number() ) :
    					comments_template();
    				endif;
    
    			endwhile; // End of the loop.
    			?>
    <div class="container">
    <div class="row">
    <div class="col-12">
    <h1 class="white-front">Upcoming Shows</h1>
    </div>
    </div>
      <div class="row">  
    
          
    <div class="owl-carousel owl-theme loop">
    
    <?php if( have_rows('shows') ): ?>
    	<?php while( have_rows('shows') ): the_row(); 
    
    		// vars
    		$show_image = get_sub_field('show_image');
    		$date = get_sub_field('date');
    		$performer = get_sub_field('performer');
    		$admission = get_sub_field('admission');
    		$ticket_link = get_sub_field('ticket_link');
    		$show_page = get_sub_field('show_page');
    		$show_details = get_sub_field('show_details');
    		$ticket_instructions = get_sub_field('ticket_instructions');
    		$time = get_sub_field('time');
    
    		?>
                            
    <div class="item col-12">
    <div class="card front-card">
    
       
                             <div  class="card-img-top" style="background-image: url('<?php echo $show_image['url']; ?>');"> </div>
    <div class="home-date"><?php echo $date; ?></div>
    <div class="inner-card">
    <a class="home" href="<?php echo $show_page; ?>"><?php echo $performer; ?></a>
    <p><?php echo $show_details; ?></p>
    <hr>
    <p><b>Time:</b><?php echo $time; ?></p>
    </div>
    <div class="bottom">
    <div class="admission"><?php echo $admission; ?></div><a href="<?php echo $ticket_link; ?>"><div class="btn-home"><?php echo $ticket_instructions; ?></div></a>
          </div>                                 
              </div>
    
                        </div>
    		<?php endwhile; ?>
    
    		 <?php endif; ?>
    
                            <div class="owl-controls">
            <div class="owl-nav">
                <div class="owl-prev">prev</div>
                <div class="owl-next">next</div>
            </div>
            <div class="owl-dots">
                <div class="owl-dot active"><span></span></div>
                <div class="owl-dot"><span></span></div>
                <div class="owl-dot"><span></span></div>
            </div>
        </div>
    </div>
    </div>
    <div class="row">
    <div class="col-12">
    <h1 class="white-front">Events</h1>
    </div>
    </div>
    
    <?php if( have_rows('events') ): ?>
    	<?php while( have_rows('events') ): the_row(); 
    
    		// vars
    		$event_date = get_sub_field('event-date');
    		$event_name = get_sub_field('event-name');
    		$event_time = get_sub_field('event-time');
    		$event_link = get_sub_field('event-link');
    		$event_button_text = get_sub_field('event-button-text');
    		$event_ticket_url = get_sub_field('event_ticket_url');
    
    		?>
    <div class="row">
    <div class="col-12">
    <h3><?php echo $event_date; ?> </h3><a href="<?php echo $event_link; ?>"><?php echo $event_name; ?></a><?php echo $event_time; ?> <a href="<?php echo $event_ticket_url; ?>"><?php echo $event_button_text; ?></a>
    		<?php endwhile; ?>
    
    		 <?php endif; ?>
    
    </div>
    </div>
    
    </div>
    
    </div>
    
    		</main><!-- #main -->
    	</div><!-- #primary -->
    
    <?php
    get_footer();
    ?>
    <script>
    $('.rotator').cycle({
     fx:'fade',
     timeout: 2000
    });
    </script>
  • Solved

    Repeater Field with Taxonomy Field

    Hello,

    I have to build a calendar page and I use the Repeater Field, this need contain some info like: Title, date, where and when. this par of the while work well, I can see easy all the il for every row I make in the backend.
    But.
    In the second part I need show last 2 news for the specific event. In my posts I have mark it with different category name. Inside the Repeater Field I have added a Taxonomy Field. How I can integrate the Taxonomy Field inside the while of the Repeater Field?

    I know to have wrong using this array 'category_name' => $posts->name, but how I can set up it?
    The for foreach work, but I see the post from all category.

    Some one can help me. Thank you!

    <div class="calendar">
      <div class="all-events">
        <?php if( have_rows('events_list') ): ?>
               <ul class="slides">
              <?php while( have_rows('events_list') ): the_row();
                // vars
                $title = get_sub_field('nome_evento');
                $where = get_sub_field('luogo');
                $when = get_sub_field('data_e_ora');
                $month = get_sub_field('mese');
                ?>
                <li class="event-s">
                  <div class="info-event">
                    <p><?php echo $month; ?></p>
                    <h4 class="nome"><?php echo $title; ?></h4>
                    <p class="dove"><?php echo $where; ?></p>
                    <p class="quando"><?php echo $when; ?></p>
                  </div>
                  <div class="news-event">
                    <div class="loop-news">
                        <?php
                            $posts = get_field('latest_news');
                            $posts = get_posts(array(
                              'posts_per_page'  => 2,
                              'post_type'     => 'post',
                              'category_name' => $posts->name,
                            ));
                            if( $posts ): ?>
                              <ul>
                              <?php foreach( $posts as $post ):
                                setup_postdata( $post );
                                ?>
                                <li>
                                  <a href="<?php the_permalink(); ?>">
                                    <span class="img-post"><?php echo get_the_post_thumbnail( $p->ID ); ?></span><br>
                                    <span class="title-article"><?php the_title(); ?></span>
                                    <span class="excerpt"><?php echo get_the_excerpt( $p->ID ); ?></span>
                                  </a>
                                </li>
                              <?php endforeach; ?>
                              </ul>
                              <?php wp_reset_postdata(); ?>
                            <?php endif; ?>
                      </div>
                  </div>
                </li>
              <?php endwhile; ?>
              </ul>
            <?php endif; ?>
      </div>
    </div>
  • Unread

    Query and sort on future dates in repeater field

    I have a custom post type for events which has a date/time field in a repeater to hold the event dates. That could be a single date, several consecutive dates, or even a repeating event with one date a week for several months. It has been easy to query for future events with the information found here, but I also need to sort the events in descending order starting from the current date. Using orderby on that custom field almost works, but it breaks in one key area. It will determine the order based on all the occurrences of the repeater field, not just the ones in the future.

    For example, say it’s Friday. Event A recurs every Thursday, so it happened yesterday and will happen next Thursday. Ideally, Event B that happens tomorrow (Saturday) should sort ahead of Event A, but because of Event A’s occurrence yesterday, it sorts ahead of Event B. So, somehow, I need to remove all past event dates from the repeater field prior to sorting.

    I thought of creating a second custom field that contains the next occurrence of each event and populating it daily with a cron job, but that seems like a bit of a hack and I hate using cron (much less the fairly unreliable WordPress cron) for anything like that. Any other suggestions? Perhaps some way to use a custom ORDERBY in the sql clause that eliminates past dates from the repeater field?

  • Solved

    Show future dates using date & time, repeater fields

    I’d like to only display future events. I’ve found a bunch of examples that are close but nothing that uses date & time field and the repeater fields. The events only have the one date, no ending date.

    Date output format is: F j, Y – g:i a
    Any help getting started would be so appreciated. Thank you!

    <?php
    if( have_rows('dates_offered') ): while ( have_rows('dates_offered') ) : the_row(); 
    			    	
      // variables
        $free = get_sub_field('event_payment_type');
        $soldout = get_sub_field('sold_out');
        $eventlink = get_sub_field('event_map_link');
        $eventloc = get_sub_field('event_location');
        $eventfb = get_sub_field('fb_event_link');
        $eventseries = get_sub_field('event_name_if_series');
    		$eventTIME = get_sub_field('event_date_time');
    ?>
    
    <?php if( $soldout ){ ?>
    	<span class="eventROW soldout">
    <?php } else { ?>	
    	<span class="eventROW">
    <?php } ?>	
    				<?php if( $eventseries ): ?><span class="big"><em><?php the_sub_field('event_name_if_series'); ?></em></span><br /><?php endif; ?>
         		<?php if( $eventTIME ): ?>★ <strong><?php the_sub_field('event_date_time'); ?></strong> ★<?php endif; ?>
    		 
    		 		<?php if ($free == 1){ ?>
    		 				<?php if( $soldout ){ ?>	
    				 				<span class="full">FULL</span>
    				 		<?php } else { ?>
    				 				Free!
    				 				<a class="buynow" target="_blank" href="<?php the_sub_field('registration_link'); ?>">Register</a>
    				 		<?php } ?>	
    		 		<?php } else { ?>			 		
    				 		<?php if( $soldout ){ ?>	
    				 				<strike>$<?php the_sub_field('event_price'); ?></strike> <span class="full">FULL</span>
    				 		<?php } else { ?>
    				 				<span class="eventcost">$<?php the_sub_field('event_price'); ?></span>
    				 				<a class="buynow" target="_blank" href="<?php the_sub_field('event_purchase_link'); ?>">Buy Now</a>	
    				 		<?php } ?>		
    		 		<?php }?>
    		 		
    		 		<?php if( $eventloc ): ?>	
    				 		<?php if( $eventlink ){ ?>	
    				 				<span class="eventlocation">@ <a target="_blank" href="<?php the_sub_field('event_map_link'); ?>"> <?php the_sub_field('event_location'); ?></a></span>
    				 		<?php } else { ?>
    				 				<span class="eventlocation">@ <?php the_sub_field('event_location'); ?>	</span>
    				 		<?php } ?>
    		 		<?php endif; ?>
    		 		
    		 		<?php if( $eventfb ): ?>
    		 			<a class="fbRSVP" target="_blank" href="<?php the_sub_field('fb_event_link'); ?>"><i class="fa fa-facebook-official" aria-hidden="true"></i> RSVP on Facebook</a>
    		 		<?php endif; ?>
    	</span><!-- end eventROW -->		
    
      <?php endwhile; ?>
    <?php else :?>
    <h3>No dates available at this time.</h3>
    <?php endif; ?>
  • Solved

    Return a certain number of rows based on date

    Hi
    I have a repeater where each row has an expiration date.
    I would like to show only 3 rows where the items have not expired.

    My code so far:`
    <?php date_default_timezone_set( ‘America/Los_Angeles’ );
    $today = date( ‘Ymd’ );
    if ( have_rows( ‘events’, 2006 ) ):
    while ( have_rows( ‘events’,
    2006 ) ) : the_row();
    $expire = get_sub_field( ‘expire_on’,
    2006 );
    if ( $expire > $today ):
    ?>
    <li class=”eventrow event<?php echo get_row_index(); ?>”>
    <h3><a target=”_blank”
    href=”<?php the_sub_field( ‘events_link’,
    2006 ); ?>”><?php the_sub_field( ‘events_title’,
    2006 ); ?></a></h3>
    <p><?php the_sub_field( ‘events_date’,
    2006 ); ?> <br>
    <em> <?php the_sub_field( ‘events_location’,
    2006 ); ?> </em></p>
    </li>
    <?php endif; endwhile; endif; ?>`

    I know that my method of hiding expired rows is not ideal.. show me how to do it better?

    Thanks!

  • Solved

    Please enter no more than 0 characters.

    My client suddenly emailed me that every time she tries to save (update) an existing page that has ACF fields on it she gets multiple errors on simple text fields “Please enter no more than 0 characters.”. This is extremely bizarre because nothing has changed. I have tried manually setting a character limit as well as making the fields not required but I still get the messages. No errors in the JS console. Any ideas??! Thank you!

    Running ACF PRO 5.6.1 on WP 4.8.1

    Here’s a screenshot of the errors:
    http://imgur.com/a/IzOsE

    And the field group export code:

    if( function_exists('acf_add_local_field_group') ):
    
    acf_add_local_field_group(array (
    	'key' => 'group_589cdd7ef3eab',
    	'title' => 'Event Additional',
    	'fields' => array (
    		array (
    			'key' => 'field_58b5d9fc7a825',
    			'label' => 'Additional Info',
    			'name' => 'additional_info',
    			'type' => 'flexible_content',
    			'instructions' => '',
    			'required' => 0,
    			'conditional_logic' => 0,
    			'wrapper' => array (
    				'width' => '',
    				'class' => '',
    				'id' => '',
    			),
    			'layouts' => array (
    				'58b5da0e73e55' => array (
    					'key' => '58b5da0e73e55',
    					'name' => 'schedule',
    					'label' => 'Schedule',
    					'display' => 'block',
    					'sub_fields' => array (
    						array (
    							'key' => 'field_58b5e9b8f35bc',
    							'label' => 'Title',
    							'name' => 'title',
    							'type' => 'text',
    							'instructions' => '',
    							'required' => 1,
    							'conditional_logic' => 0,
    							'wrapper' => array (
    								'width' => '',
    								'class' => '',
    								'id' => '',
    							),
    							'default_value' => 'Schedule',
    							'placeholder' => '',
    							'prepend' => '',
    							'append' => '',
    							'maxlength' => 50,
    						),
    						array (
    							'key' => 'field_58b5da1d7a826',
    							'label' => 'Day',
    							'name' => 'schedule_day',
    							'type' => 'repeater',
    							'instructions' => '',
    							'required' => 1,
    							'conditional_logic' => 0,
    							'wrapper' => array (
    								'width' => '',
    								'class' => '',
    								'id' => '',
    							),
    							'collapsed' => '',
    							'min' => 0,
    							'max' => 0,
    							'layout' => 'block',
    							'button_label' => 'Add Day',
    							'sub_fields' => array (
    								array (
    									'key' => 'field_58b89b99758f0',
    									'label' => 'Title',
    									'name' => 'title_day',
    									'type' => 'text',
    									'instructions' => '',
    									'required' => 1,
    									'conditional_logic' => 0,
    									'wrapper' => array (
    										'width' => '',
    										'class' => '',
    										'id' => '',
    									),
    									'default_value' => '',
    									'placeholder' => 'e.g. "Day 1"',
    									'prepend' => '',
    									'append' => '',
    									'maxlength' => '',
    								),
    								array (
    									'key' => 'field_58b5da447a827',
    									'label' => 'Date',
    									'name' => 'date',
    									'type' => 'date_picker',
    									'instructions' => '',
    									'required' => 1,
    									'conditional_logic' => 0,
    									'wrapper' => array (
    										'width' => '',
    										'class' => '',
    										'id' => '',
    									),
    									'display_format' => 'F j, Y',
    									'return_format' => 'Ymd',
    									'first_day' => 1,
    								),
    								array (
    									'key' => 'field_58b5da4f7a828',
    									'label' => 'Item',
    									'name' => 'item',
    									'type' => 'repeater',
    									'instructions' => '',
    									'required' => 1,
    									'conditional_logic' => 0,
    									'wrapper' => array (
    										'width' => '',
    										'class' => '',
    										'id' => '',
    									),
    									'collapsed' => '',
    									'min' => 1,
    									'max' => 0,
    									'layout' => 'table',
    									'button_label' => 'Add Item',
    									'sub_fields' => array (
    										array (
    											'key' => 'field_58b5da5f7a829',
    											'label' => 'Start Time',
    											'name' => 'start_time',
    											'type' => 'time_picker',
    											'instructions' => '',
    											'required' => 1,
    											'conditional_logic' => 0,
    											'wrapper' => array (
    												'width' => '',
    												'class' => '',
    												'id' => '',
    											),
    											'display_format' => 'g:i a',
    											'return_format' => 'g:i a',
    										),
    										array (
    											'key' => 'field_58b5da7a7a82a',
    											'label' => 'End Time',
    											'name' => 'end_time',
    											'type' => 'time_picker',
    											'instructions' => '',
    											'required' => 1,
    											'conditional_logic' => 0,
    											'wrapper' => array (
    												'width' => '',
    												'class' => '',
    												'id' => '',
    											),
    											'display_format' => 'g:i a',
    											'return_format' => 'g:i a',
    										),
    										array (
    											'key' => 'field_58b5da837a82b',
    											'label' => 'Item Title',
    											'name' => 'item_title',
    											'type' => 'text',
    											'instructions' => '',
    											'required' => 1,
    											'conditional_logic' => 0,
    											'wrapper' => array (
    												'width' => '',
    												'class' => '',
    												'id' => '',
    											),
    											'default_value' => '',
    											'maxlength' => '',
    											'placeholder' => '',
    											'prepend' => '',
    											'append' => '',
    										),
    										array (
    											'key' => 'field_58b5da8f7a82c',
    											'label' => 'Speaker (optional)',
    											'name' => 'speaker',
    											'type' => 'text',
    											'instructions' => '',
    											'required' => 0,
    											'conditional_logic' => 0,
    											'wrapper' => array (
    												'width' => '',
    												'class' => '',
    												'id' => '',
    											),
    											'default_value' => '',
    											'maxlength' => '',
    											'placeholder' => '',
    											'prepend' => '',
    											'append' => '',
    										),
    									),
    								),
    							),
    						),
    					),
    					'min' => '0',
    					'max' => '1',
    				),
    				'58b632d8edeb9' => array (
    					'key' => '58b632d8edeb9',
    					'name' => 'video',
    					'label' => 'Video',
    					'display' => 'block',
    					'sub_fields' => array (
    						array (
    							'key' => 'field_58b632efedebb',
    							'label' => 'Title',
    							'name' => 'title',
    							'type' => 'text',
    							'instructions' => '',
    							'required' => 1,
    							'conditional_logic' => 0,
    							'wrapper' => array (
    								'width' => '',
    								'class' => '',
    								'id' => '',
    							),
    							'default_value' => '',
    							'placeholder' => '',
    							'prepend' => '',
    							'append' => '',
    							'maxlength' => '',
    						),
    						array (
    							'key' => 'field_58b632deedeba',
    							'label' => 'Video',
    							'name' => 'video',
    							'type' => 'oembed',
    							'instructions' => '',
    							'required' => 1,
    							'conditional_logic' => 0,
    							'wrapper' => array (
    								'width' => '',
    								'class' => '',
    								'id' => '',
    							),
    							'width' => '',
    							'height' => '',
    						),
    					),
    					'min' => '',
    					'max' => '',
    				),
    				'58b63313171f9' => array (
    					'key' => '58b63313171f9',
    					'name' => 'text',
    					'label' => 'Text',
    					'display' => 'block',
    					'sub_fields' => array (
    						array (
    							'key' => 'field_58b63313171fa',
    							'label' => 'Title',
    							'name' => 'title',
    							'type' => 'text',
    							'instructions' => '',
    							'required' => 1,
    							'conditional_logic' => 0,
    							'wrapper' => array (
    								'width' => '',
    								'class' => '',
    								'id' => '',
    							),
    							'default_value' => '',
    							'placeholder' => '',
    							'prepend' => '',
    							'append' => '',
    							'maxlength' => '',
    						),
    						array (
    							'key' => 'field_58b63313171fb',
    							'label' => 'Text',
    							'name' => 'text',
    							'type' => 'wysiwyg',
    							'instructions' => '',
    							'required' => 1,
    							'conditional_logic' => 0,
    							'wrapper' => array (
    								'width' => '',
    								'class' => '',
    								'id' => '',
    							),
    							'default_value' => '',
    							'tabs' => 'all',
    							'toolbar' => 'full',
    							'media_upload' => 1,
    							'delay' => 1,
    						),
    					),
    					'min' => '',
    					'max' => '',
    				),
    			),
    			'button_label' => 'Add Block',
    			'min' => '',
    			'max' => '',
    		),
    	),
    	'location' => array (
    		array (
    			array (
    				'param' => 'post_type',
    				'operator' => '==',
    				'value' => 'tc_events',
    			),
    		),
    	),
    	'menu_order' => 0,
    	'position' => 'normal',
    	'style' => 'default',
    	'label_placement' => 'top',
    	'instruction_placement' => 'label',
    	'hide_on_screen' => '',
    	'active' => 1,
    	'description' => '',
    ));
    
    endif;
  • Solved

    Date picker format in repeater -> repeater

    I have a repeater within a repeated and have used the field ‘Date Picker’

    What I have been trying to do is output it so that it can be used in different areas so for example if the date was 25/12/2017

    Part of it would show 25 – Mon

    Another would be December 2017

    etc.

    `<?php
    // get raw date
    $date = get_field(‘event_date’, false, false);

    // make date object
    $date = new DateTime($date);
    ?>
    <div class=”date_and_month”>
    <i class=”fa fa-calendar-o”></i>
    <div class=”date_and_day”>
    <span><?php echo $date->format(‘d’); ?></span>
    <p><?php echo $date->format(‘D’); ?>.</p>
    </div>
    </div>`

    Any tips cause currently all I’ve found is above and that changes to, today date…

  • Helping

    Delete Repeater Row After Date

    I have created a custom Events section for the website I am working on. It works well. It has a Start Date, an End Date, and a Stop Showing Date. The event stops showing on the front-end on the End Date unless there is a Stop Showing Date entered. This allows an event to live a few days past it’s End Date on the front end.

    What I would like to do is to remove/hide/delete the event in the repeater on the BACK end after the End Date or Stop Showing Date have passed. I have some code already in functions.php to sort the events on the CMS side of the site so that the oldest is always at the top. The client could just delete these manually, but I was hoping to automate it. Here is my code for sorting the backend by end date ASC:

    add_filter('acf/load_value/name=event', 'my_acf_load_value', 10, 1); //repeater_name Second number must match the number of pages that use the Events Page template
    function my_acf_load_value( $rows)
    {
     foreach( $rows as $key => $row ) {
    	 $column_id[ $key ] = $row['field_593c050644713'];//This is the meta_value in SQL. Found in wp_postmeta table. meta_key = _event_0_event_end_date, meta_value = field_593c050644713
    }
     
     array_multisort( $column_id, SORT_ASC, $rows );
     return $rows;
    }
  • Unread

    Keep filters when use post object field

    Hi !

    For my hompeage, I’ve a repeater field with a post object (it allows user to select 1-6 post from different custom post types).

    My problem is that for one of the post type, I need some filters attached to the post, but the post object field of ACF use get_posts and suppress all filters.

    I need these because I use the plugin event organizer, and their event custom post type uses some filters for the dates. So I need to set the “suppress_filters” parameter to false when ACF query the posts…

    Any idea?

  • Solved

    Frontend Form – acf_form + add_row with $_POST

    Hi,

    I would like to add rows to a repeater from collected datas using $_POST.

    I have been able to publish my custom post type correctly using acf_form, however no rows get added to my repeater.

    I am using the acf/save_post action to collect and save the new datas.

    I have tried to look around but could not find the solution to my problem.
    Thanks in advance if you can help me!

    Here is the function I have used:

    
    function ps_acf_save_post( $post_id ) {
    
        // Get Fields
        $fields = get_field_objects( $post_id );
    
        // Prevent Infinite Looping
        remove_action( 'acf/save_post', 'my_acf_save_post' );
    
        // Grab Post Data from the Form
        $post = array(
            'ID'           => $post_id,
            'post_type'    => 'leads',
            'post_title'   => 'Title Test',
            'post_status'  => 'publish'
        );
    
        // Grab Post Data from Dynamic Inputs
        $fieldSets = (isset($_GET['line-item']) ? $_GET['line-item'] : null);
           foreach((array)$fieldSets as $lineItem) {
             // Repeater
             $row = array(
               'field_59104ba3d8b5a' => $_POST['row[1][category]'],
               'field_59131578f9daf' => $_POST['row[1][product]'],
             );
             $row_id = add_row('field_59104b8fd8b59', $row, $post_id);
           }
    
        // Update the Post
        wp_update_post( $post );
    
        // Continue save action
        add_action( 'acf/save_post', 'my_save_post' );
    
    }
    
    add_action( 'acf/save_post', 'ps_acf_save_post', 1, 1 );
    
    
  • Solved

    ACF repeater and AJAX

    Hi everyone,

    I’m a French student and I’ve to do a project about the America Presidential Election.

    So, we decided to talk about Trump and Hillary Programms.

    We use WordPress and ACF Pro and want to display with a repeater field the program of each candidate.

    But we had a problem with the pagination because we want to display only 3 idea per page.

    So, we do this (categories_template.php):

    <?php
    /*
    Template Name: Catégories template
    */
    ?>
    
    <?php get_header(); ?>
    
        <section class="left-nav-categories">
            <header class="header-logo">
                <a href="#"><img src="" alt=""></a>
            </header>
    
            <?php if ( has_nav_menu('menu-trump') ) : ?>
                <nav role="navigation" id="topmenu">
                    <?php wp_nav_menu( array( 'theme_location' => 'menu-trump' ) ); ?>
                </nav>
            <?php endif; ?>
            <footer>
            <ul>
                <li>TEAM02. © 2017. ALL RIGHTS RESERVED.</li>
                <li>
                    <ul class="social-links">
                        <li class="social-elements"><a href="#" class="icon icon-facebook"></a></li>
                        <li class="social-elements"><a href="#" class="icon icon-twitter"></a></li>
                    </ul>
                </li>
            </ul>
            </footer>
        </section>
        <section class="right-content-categories">
            <h1 class="category-title"><?php the_field('titre_proposition'); ?></h1>
            <span class="category-subtitle"><?php the_field('sous-titre_proposition');?></span>
            <?php
                /* 
                 * Paginate Advanced Custom Field repeater
                 */
    
                if( ('page') ) {
                  $page = get_query_var( 'page', 1);
                } else {
                  $page = 1;
                }
                if($page < 2) {
                    $page = 1;
                }
                // Variables
                $row              = 0;
                $posts_per_page   = 3; // How many images to display on each page
                $content          = get_field( 'propositions' );
                $total            = count( $content );
                $pages            = ceil( $total / $posts_per_page );
                $min              = ( ( $page * $posts_per_page ) - $posts_per_page ) + 1;
                $max              = ( $min + $posts_per_page ) - 1;
            ?>
            <?php if( have_rows('propositions') ): ?>
                <ol class="container-propositions">
                    <?php while( have_rows('propositions') ): the_row();
                        $row++;
                        // Ignore this row if $row is lower than $min
                        if($row < $min) { continue; }
    
                        // Stop loop completely if $row is higher than $max
                        if($row > $max) { break; } 
                        $sub_field = get_sub_field('texte');
                        ?>
                        <li class="propositions">
                            <?php echo $sub_field; ?>
                        </li>
                    <?php endwhile; ?>
                </ol>
                <div class="pagination">
                    <?php
                        // Pagination
                        echo paginate_links( array(
                            'base' => get_permalink() . '%#%' . '/',
                            'format' => '?page=%#%',
                            'current' => $page,
                            'total' => $pages,
                            'type' => 'plain'
                        ) );
                    ?>              
                </div>
            <?php endif; ?>
        </section>
     
    
    <script>
        $(document).on( 'click', 'div.pagination a.page-numbers', function( event ) {
            event.preventDefault();
    
            var ajaxurl = "<?php echo admin_url('admin-ajax.php')?>";
    
            $.ajax({    
                url: ajaxurl,
                type: 'POST',
                data: {
                    'action': 'my_ajax_action',
                    'post_id': <?php echo get_the_ID(); ?>
                    
                },
                success : function(data) {
                    $('html').append(data);
                    console.log(data);
                },
                function(data){
                    // console.log(data);
                }
            });
        });
        $('#topmenu ul li.menu-item a').mouseenter(function(){
            $('#topmenu ul li.menu-item.current_page_item a').addClass('other-hover');
        });
        $('#topmenu ul li.menu-item a').mouseleave(function(){
            $('#topmenu ul li.menu-item.current_page_item a').removeClass('other-hover');
        });
    </script>

    and in functions.php

    $post_id = $_POST['post_id'];
    
    if( have_rows('propositions', $post_id) ):
    $data = [];
     	// loop through the rows of data
        while ( have_rows('propositions', $post_id) ) : the_row();
    
            // display a sub field value
            $data = get_sub_field('texte');
    
        endwhile;
        wp_send_json_success( $data );
    
    else :
        wp_send_json_error( 'test' );
    
    endif;
    
    }

    Can someone can help us ? Thank you 😉

  • Solved

    Query all repeater fields and show parent data too

    I’m trying to build a festival website that has multiple events each year. Each event can occur more than once within each year.

    I have a post type called Events with a repeater field for Event times. In the repeater field there are two sub-fields, one for Start time and one for End time.

    I’m trying to display a chronological list of all the Events based on their Event times and have the following code (taken from https://www.advancedcustomfields.com/resources/query-posts-custom-fields):

    <?php 
    // filter
    function my_posts_where( $where ) {
    	$where = str_replace("meta_key = 'event_time_%", "meta_key LIKE 'event_time_%", $where);
    	return $where;
    }
    
    add_filter('posts_where', 'my_posts_where');
    
    // set festival year in YYYY
    $date = $festival_year;
    
    // args
    $args = array(
    	'numberposts'	=> -1,
    	'post_type'	=> 'event',
    	'meta_query'	=> array(
    			'key'		=> 'event_time_%_start_time',
    			'compare'	=> 'LIKE',
    			'value'		=> $date
    	)
    );
    
    // query
    $the_query = new WP_Query( $args );
    ?>
    <?php if( $the_query->have_posts() ): ?>
    	<ul>
    	<?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
    		<li>
    			<a href="<?php the_permalink(); ?>"><?php the_title(); ?> - <?php the_sub_field('start_time'); ?></a>
    		</li>
    	<?php endwhile; ?>
    	</ul>
    <?php endif; ?>
    
    <?php wp_reset_query();	 // Restore global post data stomped by the_post(). ?>

    This successfully finds all the Events that have Start times in the $festival_year. The problem I am having is that I can’t get the code to show the_sub_field('start_time') for each Event. I would also expect to see some of these Events duplicated as two of them have two Event times fields, both in the same year.

    I am essentially trying to query all sub_field data first and then connect the associated post data (title, content, etc). Then I can output it as a calendar.

    Is this possible?

  • Solved

    Nested Post Object Fields

    So, I’m building an Event listing using ACF, custom post types, and woocommerce.

    On my single event page I’m querying first a Post Object Repeater to select various products/tickets to associate with the event. I get the title of the product, and a couple of other ACF fields just fine. But then on that product/ticket page there is another post object field, referencing a venue custom post type. I’m trying to grab that post object field from my single event page, but not having any luck.

    Here’s my code. Hoping someone can assist. I feel like I’m close, but just missing something fairly obvious. It works up until the venue_object section.

    				if( have_rows('choose_dates')): // check for repeater fields 
    					if( have_rows('choose_dates') ):
    						while ( have_rows('choose_dates') ) : the_row();
    							$post_object = get_sub_field('pick_the_dates');
    								if( $post_object ):
    									$post = $post_object; setup_postdata( $post );
    				?>
    				<div class="container-fluid performances">
    					<div class="row">
    						<div class="col-md-1 col-sm-2 showtime">
    							<a href="<?php the_permalink(); ?>"><span class="list-ticket"><?php the_title(); ?></span></a>
    						</div>
    						
    						<div class="col-md-8 col-sm-8">
    							<?php $venue_object = get_field('event_location', $post_object->ID);
    								if( $venue_object ):
    									$venue = $venue_object;
    									
    									setup_postdata( $venue );
    							?>
    							
    							<p><?php the_field('showtime', $post_object->ID); the_field('am_pm', $post_object->ID); ?> <a href="<?php the_permalink($venue_object->ID); ?>"><?php the_title($venue_object->ID); ?></a>Venue name - City, State</p>
    							
    							<?php wp_reset_postdata( $venue );
    								endif;
    							?>
    							<h6><?php the_field('show_name', $post_object->ID); ?></h6>
    						</div>
    						
    						<div class="col-md-3 col-sm-2">
    							<a class="btn btn-default" href="<?php the_permalink($post_object->ID); ?>">Info & Tickets</a>
    						</div>
    					</div>
    				</div>
    				
    									<?php wp_reset_postdata();
    								endif;
    						endwhile;
    					endif;
    				endif; ?>
  • Solving

    Nested custom post type forms

    TL;DR: As an admin user, while creating an Event (which is a custom post type post), I’d like to be able to easily create EventDates (which are custom post types too) in a nested form/repeater field, to save time.

    So I’m still on my quest to make Events and EventDates work.

    I have two custom post types, Event and EventDates. Each EventDate hast an ACF relationship field to associate it to an Event. This way each Event has multiple dates, so if Lady Gaga decides to give two concerts, I have one Event “Lady Gaga live” and two dates (e.g. one on friday and one on sunday) and I can have an EventDate calendar in the frontend.

    Now to my problem: How do I convince Lady Gaga to come Currently Events and EventDates are handled separately in the backend, which is very repetitive and cumbersome, since for every Event you create you have to switch to the EventDate section afterwards and create multiple EventDates.

    An ideal solution from the user perspective would look like this:

    1. In the WordPress Backend, click on “create Event”
    2. Insert content (title, description, details etc.)
    3. scrolling down to section “dates”
    4. have some kind of repeater field, where each item is basically a date picker
    5. after clicking on “create/update Event”, WordPress creates/updates the EventDates with their ACF-date-field set correctly and wires them to the Event

    This would save the backend-users a lot of clicks. I understand that this is nothing I can get out of the box from somewhere and that I have to make my hands dirty to achieve that. But currently I have no good idea how to tackle the problem, so maybe you guys have something?

    -CS

  • Helping

    Query posts matching custom field, and ordered by sub fields

    I’m using get_posts to query posts that have display_on_frontpage = true and sorted by sub fields start_date and start_time. To sum it up:

    Posts must have:

    display_on_frontpage = true

    Sorted by:

    event-dates (repeater field): start_date (sub field)

    …and then by:

    event-dates (repeater field): start_time (sub field)

    How can I achieve this?

  • Helping

    Populate/recreate repeater by js/ajax

    I have a complex front/back-end form that I need to react to change in one multivalue Select2 field by recreating/populating a repeater field in another acf tab.
    The repeater needs to end up with the same number of rows as the Select2 holds values, so my plan of attack was to listen to Select2 change event, send values array to admin-ajax, update repeater with the new array of values, but I’ve stalled at the js update part as I don’t know what is the best way to update the front end form’s repeater by its underlying data that has changed in the meantime.

  • Helping

    Repeater Output: error array to string

    Hey there,

    Error I am getting is Array to String
    Currently stumped on this, looked through everything logically related from documentation to threads/posts.

    My goal is to pass this functionality into a shortcode, but my issue lays within what I have programmed. Can I get some input it would greatly be appreciated.

    
    Notice: Array to string conversion in /sites/valet/beauty/web/app/themes/theme57866/inc/acf/api/api-template.php on line 388
    
    Notice: Array to string conversion in /sites/valet/beauty/web/app/themes/theme57866/inc/acf/api/api-value.php on line 42
    

    Screenshots

    Field input:

    Field configurations:

    PHP Code:

    
    /**
     * ACF ShortCode - Events Repeater
     * // Useage [events_list]
     * // Vars
     * // events_repeater - Repeater Group for events
     * // show_event - disable/enable,
     * // event_date_title - date D, M d, Y (format "Full Day, + Full Month + Date Number + Year")
     * // event_description - Description?
     * // event_link - Event link
     *
     * @return string|void
     */
    function events_fn() {
    
    	// checks acf is active
    	if ( ! function_exists( 'have_rows' ) ) :
    		return;
    	endif;
    
    	$output = '';
    
    	// Vars
    	$events_repeater = get_field( 'events_repeater' );
    
    	// check if the repeater field has rows of data
    	if ( have_rows( $events_repeater ) ):
    
    		$output = '<div class="chart-wrapper">';
    
    		// loop through the rows of data
    		while ( have_rows( $events_repeater ) ) : the_row();
    
    			// Vars
    			$show_event        = get_sub_field( 'show_event' );
    			$event_date_title  = get_sub_field( 'event_date_title' );
    			$event_title       = get_sub_field( 'event_title' );
    			$event_description = get_sub_field( 'event_description' );
    			$event_link        = get_sub_field( 'event_link' ); // add .. onclick="window.location.href='http://site.com/someplace-url'"
    
    			// display sub field values
    			if ( $show_event == true ) :
    
    				$output .= '<div class="chart-item"><div class="row">';
    				$output .= '<div class="col-xs-12 col-sm-8 col-md-8 col-lg-8">';
    				$output .= '<strong>' . $event_date_title . ':' . $event_title . '</strong><br>';
    				$output .= $event_description;
    				$output .= '</div>';
    				$output .= '<div class="col-xs-12 col-sm-4 col-md-4 col-lg-4">';
    				$output .= '<button class="btn btn-default btn-lg reservespot" type="button" onclick="window.location.href=\'' . $event_link . '\'"></button><br>';
    				$output .= '</div>';
    				$output .= '</div></div>';
    
    			endif;
    
    		endwhile;
    
    		//closing php loop
    		$output .= '</div>';
    
    	else :
    		// no rows found
    	endif;
    
    	return $output;
    
    }
    
    function register_shortcodes() {
    	add_shortcode( 'events_list', 'events_fn' );
    }
    add_action('init','register_shortcodes');
    
  • Helping

    Queuing custom date fields

    Hello there,

    iam implementing an event managing system and using ACF for all the custom data inside a custom post type. The date(s) selection works like that:

    Times (Repeater)
    -Options(Selection: Individual Dates or Repeating Dates)
    –For individual dates there is another repeater with Date and two time picker (from/to).
    –For repeating dates choose a day of the week and two time picker (from/to).

    Now i have different kind of date incidents on a single post.

    Depending on dates i want those posts to be listed like on this example:

    Monday, 12 Dezember 2016
    – Event1
    – Event2

    Tuesday, 13 Dezember 2016
    – Event1

    Monday, 19 Dezember 2016
    – Event2

    Since event 1 has two individual dates on 12 and 13 dezember i want to see it on each of those days. Event 2 is every monday so it should be listed on every monday as well.

    My question is about how to store those datas for a single post, since i don’t want to duplicate the data only for the dates. Iam thinking of generating an extra SQL-table where i store alle the (past/future) dates for an event, since i can’t see how to solve this easier.

    Do you guys have any cool ideas for me?
    Thanks in advance!!

  • Solved

    Time Picker focus issue

    At the moment I’m creating a timetable for a client site. I’ve chosen Repeater, Time Picker, Date Picker and the text field as my weapons of choice, and currently it looks like this: current view

    However, when I try to type to a Time Picker field manually, the input focus is removed, which is very annoying (especially from user point of view). The focus isn’t even moved to a field in the Time Picker, it’s just removed, preventing me (user) from writing directly to the input. Date Picker doesn’t seem to have this annoyance.

    GIF: as you can see, focus is just lost.

    Suggested solution: do not remove focus on keydown, and instead complain/nag if the format is wrong / automatically fix the input provided on blur event.

  • Solved

    Upcoming events list ordered by date.

    [I read all topics related but I’m still confused about what to do]

    I have a list of upcoming events, each event can have up to 5 upcoming dates (using the repeater field). I need to sort those events by date, when the first date has passed the events should reorder based on the next date and so…only one date should be shown per event at a time (that would be really awesome but I understand if it’s not possible).

    What I have:

    function display_events(){
    	$args = array(
    		'post_type' => 'events',
    		'posts_per_page' => '12',
    		'orderby' => 'menu_order');
    
    	$events = '';	
    
    	$loop = new WP_Query( $args );
    	if( $loop->have_posts() ){
    	$events .= '<div class="events-list"><div class="one-third first"><ul>';
    	while ( $loop->have_posts() ) {
    		$loop->the_post();
    		if (have_rows('dates')) {
    			$dates = array();
    			while(have_rows('dates')) {
    			the_row();
    			$date = get_sub_field('date', false, false);
    			if ($date) {
    			$dates[] = date_i18n('j \d\e\ F', strtotime($date));
    			}
    			} // end while have rows
    			}
    	$events .= '<li><a class="title" href="' . get_permalink() . '" rel="bookmark" title="'. get_the_title() . '">' . get_the_title() . '</a><span class="date">' . implode(' | ', $dates) . '</span><span class="info"><a href="' . get_permalink() . '" rel="bookmark" title="'. get_the_title() . '">More info</a></span></li>';
    	}
    	$events .= '</ul></div>';
    	}
    wp_reset_postdata();
    	return $events;
    }

    This code displays the following list:

    EVENT TITLE
    date1, date2, date3
    More info

    EVENT TITLE
    dat1, date2
    More info

    EVENT TITLE
    date1, date2, date3, date4
    More info

  • Solving

    acf_form not saving repeater correctly to postmeta table

    Hello!

    I’ve been using repeater fields and acf_form in the front end for years and I’ve run into a new error I can’t solve.

    When I save my post in the WP backend the repeater gets saved correctly to the postmeta table:

    (meta_key => meta_value)
    my_repeater_name => 2
    my_repeater_name_0_sub_field_1 => valueA
    my_repeater_name_0_sub_field_2 => valueB
    my_repeater_name_1_sub_field_1 => valueC
    my_repeater_name_1_sub_field_2 => valueD
    (etc…)

    However, when I try to edit the repeater in the front end using an acf_form, the page redirects properly however the only change to the database is that the value of my_repeater_name is updated from the integer number of rows, to a serialised string:

    a:2:{i:0;a:8:{s:19:"field_57b955e362542";s:5:"testline1";s:19:"field_57b955f962543";s:0:"";s:19:"field_57b9560162544";s:0:"";s:19:"field_57b9560a62545";s:0:"";s:19:"field_57b9562462546";s:0:"";s:19:"field_57b9563b62547";s:0:"";s:19:"field_57b9565462548";s:0:"";s:19:"field_57b9565d62549";s:0:"";}i:1;a:8:{s:19:"field_57b955e362542";s:6:"testline2";s:19:"field_57b955f962543";s:2:"23";s:19:"field_57b9560162544";s:0:"";s:19:"field_57b9560a62545";s:0:"";s:19:"field_57b9562462546";s:0:"";s:19:"field_57b9563b62547";s:0:"";s:19:"field_57b9565462548";s:0:"";s:19:"field_57b9565d62549";s:0:"";}}

    Is this error something that my (heavily customised) theme is doing, or is ACF going wrong somewhere?

    I’ve checked $_POST['acf'] in acf/save_post and it looks fine to me:

    array(2) {
      ["field_57b955b462541"]=>
      array(2) {
        [0]=>
        array(8) {
          ["field_57b955e362542"]=>
          string(5) "testline1"
          ["field_57b955f962543"]=>
          string(0) ""
          ["field_57b9560162544"]=>
          string(0) ""
          ["field_57b9560a62545"]=>
          string(0) ""
          ["field_57b9562462546"]=>
          string(0) ""
          ["field_57b9563b62547"]=>
          string(0) ""
          ["field_57b9565462548"]=>
          string(0) ""
          ["field_57b9565d62549"]=>
          string(0) ""
        }
        [1]=>
        array(8) {
          ["field_57b955e362542"]=>
          string(6) "testline2"
          ["field_57b955f962543"]=>
          string(0) ""
          ["field_57b9560162544"]=>
          string(0) ""
          ["field_57b9560a62545"]=>
          string(0) ""
          ["field_57b9562462546"]=>
          string(0) ""
          ["field_57b9563b62547"]=>
          string(0) ""
          ["field_57b9565462548"]=>
          string(0) ""
          ["field_57b9565d62549"]=>
          string(0) ""
        }
      }
      ["_validate_email"]=>
      string(0) ""
    }

    and I’m calling acf_form_head() before page load. This is the form I’m calling:

    acf_form(array(
    		'post_id' => $post_ID,
    		'fields' => array(
    			'my_repeater'
    		),
    		'post_type' => 'events',
    	));
  • Solving

    Events loop using Repeater for dates

    I have a post type named “Events”, and I am using the repeater ‘event_dates’ with a sub field called ‘date’. I need a loop that sorts only the future events based on the date of the first row and that stays visible until the date of the last row, keeping in mind that in some cases there will be only one row.

    I can really use some help! Will be greatly appreciated!!!

Viewing 25 results - 76 through 100 (of 270 total)