djrmom

{{gist file=”custom-hooks.php” lang=”php”}}
<?php

/** for indexing multiple taxonomies and multiple post types within a single facet
** set datasource to post type **/

add_filter( ‘facetwp_index_row’, function( $params, $class ) {

if ( ‘YOUR_FACET == $params[‘facet_name’] ) { // make sure to change ‘YOUR_FACET’ to the name of your facet

$post_id = $params[‘post_id’]; // get the currrent post id

// copy the params to a new variable so the original is preserved
$new_params = $params;

if ( ‘post’ == get_post_type( $post_id ) {
$terms = get_the_terms( $post_id, ‘category’ )
} elseif ( ‘OTHER_POST_TYPE’ == get_post_type( $post_id ) { // set name of post type
$terms = get_the_terms( $post_id, ‘OTHER_TAXONOMY’ ) // set name of other taxonomy
}

if ( !is_wp_error() && !empty( $terms ) ) {
foreach ( $terms AS $term ) {
$new_params[‘term_id’] = $term->term_id;
$new_params[‘facet_value’] = sanitize_title( $term->name );
$new_params[‘facet_display_value’] = $term->name;
$class->insert( $new_params ); // adds the new row to facetwp index
}
}

$params[‘facet_value’] = ”; // dont index post_type **/

}
return $params;
}, 10, 2 );
{{/gist}}