Help with loop function code and footer by month
-
Hi this is Charls.
I would like to get help with this please. I’m using this code to show content in header and I would like to get help with footer:the-events-calendar\lib\widget-list.class.php
header_widget(); tribe_get_template_part( 'widgets/list-widget' ); footer_widget();for header_widget function is a copy of header function using in the-events-calendar\public\template-tags\loop.php
This is the function with some modifications:
function header_widget() { /* Month and year separators (on every month and year change) */ $show_headers = apply_filters( 'tribe_events_list_show_date_headers', true ); $html = ''; if ($show_headers) { global $post, $wp_query; $event_year = tribe_get_start_date( $post, false, 'Y' ); $event_month = tribe_get_start_date( $post, false, 'm' ); if ($wp_query->current_post > 0) { $prev_post = $wp_query->posts[$wp_query->current_post - 1]; $prev_event_year = tribe_get_start_date( $prev_post, false, 'Y' ); $prev_event_month = tribe_get_start_date( $prev_post, false, 'm' ); } /* * If the event month changed since the last event in the loop, * or is the same month but the year changed. * */ if ( $wp_query->current_post === 0 || ( $prev_event_month != $event_month || ( $prev_event_month == $event_month && $prev_event_year != $event_year ) ) ) { $html .= sprintf( "<div class='another-month-class'><div style='height: 10px;' class='header-widget-content'>"); } echo apply_filters('header_widget', $html, $event_month, $event_year); } }This is the original function you used in the plugin
function tribe_events_list_the_date_headers_widget() { /* Month and year separators (on every month and year change) */ $show_headers = apply_filters( 'tribe_events_list_show_date_headers', true ); $html = ''; if ($show_headers) { global $post, $wp_query; $event_year = tribe_get_start_date( $post, false, 'Y' ); $event_month = tribe_get_start_date( $post, false, 'm' ); if ($wp_query->current_post > 0) { $prev_post = $wp_query->posts[$wp_query->current_post - 1]; $prev_event_year = tribe_get_start_date( $prev_post, false, 'Y' ); $prev_event_month = tribe_get_start_date( $prev_post, false, 'm' ); } /* * If the event month changed since the last event in the loop, * or is the same month but the year changed. * */ if ( $wp_query->current_post === 0 || ( $prev_event_month != $event_month || ( $prev_event_month == $event_month && $prev_event_year != $event_year ) ) ) { $html .= sprintf( "<span class='tribe-events-list-separator-month accordion_toggle'>%s</span>", tribe_get_start_date( $post, false, 'F Y' ) ); } /* * If this event year is different to the year of the previous event in the loop, * and it's not it's not the first event in the loop (we don't want to start the loop with a year separator) */ if ( $wp_query->current_post > 0 && $prev_event_year != $event_year ) { $html .= sprintf( "<span class='tribe-events-list-separator-year'>%s</span>", $event_year ); } echo apply_filters('tribe_events_list_the_date_headers_widget', $html, $event_month, $event_year); } }As you can see, the change I did is basically in the output. And I would like you could help to add content in footer with a similar function. I just tried this:
function footer_widget() { /* Month and year separators (on every month and year change) */ $show_footer = apply_filters( 'tribe_events_list_show_date_footer', true ); $html = ''; if ($show_footer) { global $post, $wp_query; $event_year = tribe_get_start_date( $post, false, 'Y' ); $event_month = tribe_get_start_date( $post, false, 'm' ); if ($wp_query->current_post > 0) { $next_post = $wp_query->posts[$wp_query->current_post + 1]; $next_event_year = tribe_get_start_date( $next_post, false, 'Y' ); $next_event_month = tribe_get_start_date( $next_post, false, 'm' ); } /* * If the event month changed since the last event in the loop, * or is the same month but the year changed. * */ if ( $wp_query->current_post === 0 || ( $next_event_month != $event_month || ( $next_event_month == $event_month && $next_event_year != $event_year ) ) ) { $html .= sprintf( "<div class='footer-cont'><div></div>"); } echo apply_filters('footer_widget', $html, $event_month, $event_year); } }As you can see, I’m trying to add separate header and footer by month with a custom div.
I hope you could help me with this.
Thanks.
The topic ‘Help with loop function code and footer by month’ is closed to new replies.