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
programmieren:wordpress:nach_cutom_fields_suchen [2022/08/24 19:06] jgehrkeprogrammieren:wordpress:nach_cutom_fields_suchen [2022/12/17 12:28] (current) – external edit 127.0.0.1
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