Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
programmieren:wordpress:nach_cutom_fields_suchen [2022/08/24 19:06] jgehrkeprogrammieren:wordpress:nach_cutom_fields_suchen [2022/08/25 07:57] jgehrke
Line 14: Line 14:
 <code php> <code php>
 <?php <?php
 +
 /* /*
  HOOK FILTER IN SEARCH  HOOK FILTER IN SEARCH
Line 37: Line 38:
  
  private $wp_filter_priority         = 100;  private $wp_filter_priority         = 100;
 + //private $acf_post_types             = [ 'acf-field-group', 'acf-field' ]; // ungenuzt
  private $limit_search_to_post_types = []; // wp_query » post_types  private $limit_search_to_post_types = []; // wp_query » post_types
  private $results_per_page           = -1; // wp_query » posts_per_page  private $results_per_page           = -1; // wp_query » posts_per_page
Line 49: Line 51:
  add_filter( 'posts_where',    [ $this, 'sql_query_where_replace' ],                $this->wp_filter_priority );  add_filter( 'posts_where',    [ $this, 'sql_query_where_replace' ],                $this->wp_filter_priority );
  add_filter( 'posts_distinct', [ $this, 'search_for_distinctive_results' ],         $this->wp_filter_priority );  add_filter( 'posts_distinct', [ $this, 'search_for_distinctive_results' ],         $this->wp_filter_priority );
- + add_filter( 'posts_results',  [ $this, 'filter_results' ], $this->wp_filter_priority );
- //add_filter( 'posts_results',  [ $this, '' ], $this->wp_filter_priority );+
  }  }
  
Line 128: Line 129:
      }      }
      return $distinct_mode_string;      return $distinct_mode_string;
 + }
 +
 +
 +
 + /**
 + *
 + *
 + * @link https://developer.wordpress.org/reference/hooks/posts_results/
 + */
 + public function filter_results( $post_objects_array ) {
 +
 +     return $post_objects_array ;
  }  }
  
Line 160: Line 173:
  
  /**  /**
 + *
 + *
  * Prüft ob die Suche durch ein ACF Query ausgelöst wurde  * Prüft ob die Suche durch ein ACF Query ausgelöst wurde
  *  *
- * ACF & Die Such-Manipulation vertragen sich nicht, weil ACF dann + * ACF & die Beschränkung nach Post_Types vertägt sich nicht, weil 
-nur noch Strings zurück gibt.+ACF mit eigenen Posttypes kommt. Darum muss geprüft werden, dass 
 +keine Beschränkung in der Suche vorgenommen wird, wenn der call 
 + * über ACF kommt. 
 +
 + * Bisher noch keine bessere Lösung gefunden, als den Callstack 
 + * abzufragen.
  *  *
  * @return boolean [description]  * @return boolean [description]
Line 184: Line 204:
  }  }
 } }
 +
 </code> </code>

Page Tools