Guest User

Untitled

a guest
Jun 23rd, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.81 KB | None | 0 0
  1. <?php
  2.  
  3. /** filter to return post_ids from a multi-select, narrow results facet **/
  4. add_filter( 'facetwp_facet_filter_posts', function( $return, $params ) {
  5.  
  6. if ( 'product_categories' == $params['facet']['name'] ) {
  7.  
  8. global $wpdb;
  9.  
  10. $return = array();
  11. $facet = $params['facet'];
  12. $selected_values = $params['selected_values'];
  13.  
  14. $sql = $wpdb->prepare( "SELECT DISTINCT post_id
  15. FROM {$wpdb->prefix}facetwp_index
  16. WHERE facet_name = %s",
  17. $facet['name']
  18. );
  19.  
  20. // Match ALL values
  21. foreach ( $selected_values as $key => $value ) {
  22. $results = facetwp_sql( $sql . " AND facet_value IN ('$value')", $facet );
  23. $return = ( $key > 0 ) ? array_intersect( $return, $results ) : $results;
  24.  
  25. if ( empty( $return ) ) {
  26. break;
  27. }
  28. }
  29.  
  30. }
  31.  
  32. return $return;
  33. }, 10, 2 );
Add Comment
Please, Sign In to add comment