Skip to content

Instantly share code, notes, and snippets.

@jbrinley
Created February 21, 2016 20:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jbrinley/65688dbb469a78939ee1 to your computer and use it in GitHub Desktop.
Save jbrinley/65688dbb469a78939ee1 to your computer and use it in GitHub Desktop.
<?php
add_filter( 'tribe_get_list_widget_events', 'cc_tribe_get_list_widget_events' );
function cc_tribe_get_list_widget_events( $posts ) {
$output_posts = [];
$used_posts = [];
$query = new WP_Query([
'eventDisplay' => 'list',
'posts_per_page' => 3,
'tribe_render_context' => 'widget',
'meta_query' => [
'featured' => [
'key' => 'featured',
'value' => 'yes',
],
],
]);
foreach( $query->posts as $post ) {
$output_posts[] = $post;
$used_posts[] = $post->ID;
}
if ( count( $output_posts ) < 3 ) {
$query = new WP_Query([
'eventDisplay' => 'list',
'posts_per_page' => 3,
'tribe_render_context' => 'widget',
'post__not_in' => $used_posts,
'meta_query' => [
'linked' => [
'key' => 'link_url',
'compare' => '!=',
'value' => '',
],
],
]);
foreach( $query->posts as $post ) {
if ( count( $output_posts ) >= 3 ) {
break;
}
$output_posts[] = $post;
$used_posts[] = $post;
}
}
if ( count( $output_posts ) < 3 ) {
$query = new WP_Query([
'eventDisplay' => 'list',
'posts_per_page' => 3,
'tribe_render_context' => 'widget',
'post__not_in' => $used_posts,
]);
foreach( $query->posts as $post ) {
if ( count( $output_posts ) >= 3 ) {
break;
}
$output_posts[] = $post;
$used_posts[] = $post;
}
}
return $output_posts;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment