facetwp index a field in a related post type

djrmom

{{gist file=”custom-hooks.php” lang=”php”}}
<?php
/**
** look up and index a value from a post relationship field
** set the datasource to the relationship field
** get the post id of that related post and use it to
** lookup its associated value
** for ACF you may want get_field() instead of get_post_meta()
** remember to do a full re-index after adding code
** check the wp_facetwp_index table if needed to see what values are being indexed
**/

add_filter( ‘facetwp_index_row’, function( $params, $class ) {
if ( ‘my_facet’ == $params[‘facet_name’] ) { // change my_facet to name of your facet
$related_post_id = $params[‘facet_value’]; // depnding on how your relationship field saves its data this might need to be changed or looked up from a different value
$params[‘facet_display_value’] = get_post_meta( $related_post_id, ‘some_custom_field’, true ); // lookup custom field
$params[‘facet_value’] = $params[‘facet_display_value’];
}
return $params;
}, 10, 2 );
{{/gist}}