Skip to content

Instantly share code, notes, and snippets.

@AchalJ
Created May 6, 2022 10:39
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 AchalJ/175361a377af725620a0dee0c36efee7 to your computer and use it in GitHub Desktop.
Save AchalJ/175361a377af725620a0dee0c36efee7 to your computer and use it in GitHub Desktop.
PowerPack Content Grid - Show only rendered products terms in filters
// PowerPack Content Grid - Show only rendered products terms in filters
add_action( 'pp_cg_before_posts', function( $settings, $query ) {
if ( 'no' == $settings->post_grid_filters_display || 'none' == $settings->post_grid_filters ) {
return;
}
add_filter( 'pp_cg_filtered_terms', function( $filtered_terms, $terms, $module_settings ) use ( $query ) {
$rendered_terms = array();
$posts = $query->get_posts();
foreach ( $posts as $single ) {
$post_terms = wp_get_object_terms( $single->ID, $module_settings->post_grid_filters, array( 'fields' => 'ids' ) );
if ( ! is_wp_error( $post_terms ) ) {
foreach ( $post_terms as $term ) {
$rendered_terms[] = $term;
}
}
}
$rendered_terms = array_unique( $rendered_terms );
if ( empty( $rendered_terms ) ) {
return $filtered_terms;
}
$new_terms = array();
foreach ( $filtered_terms as $term_id ) {
if ( in_array( $term_id, $rendered_terms ) ) {
$new_terms[] = $term_id;
}
}
return $new_terms;
}, 10, 3 );
}, 10, 2 );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment