Wie übergeben Sie einen benutzerdefinierten Parameter an WP_Query zum Filtern in pre_get_posts

Ich habe eine AJAX-Anfrage, die das Ergebnis einer WP_Query-Schleife zurückgibt.

Ich möchte in pre_get_posts Filter die spezifische wp_query-Instanz erkennen, die im Ajax-Handler verwendet wird.

Ich dachte, einen benutzerdefinierten Parameter in die $ -Argumente der WP_Query im Ajax-Handler zu setzen:

$args= array(..., 'ajax' => 'AJAX',//custom param for detection of specific WP_Query instance ....); 

und auf diese Weise die spezifische Instanz in pre_get_post erkennen:

  if(isset($query->query_vars['ajax']){ Do stuff } 

Ich weiß nicht, ob das für dich einen Sinn hat …

Vielen Dank

Solutions Collecting From Web of "Wie übergeben Sie einen benutzerdefinierten Parameter an WP_Query zum Filtern in pre_get_posts"

Sie können über die WP_Query::get() -Methode auf WP_Query::get() (einschließlich benutzerdefinierter Variablen) zugreifen.

Beispielsweise:

 $my_query = new WP_Query( array( ... 'wpse105219_custom_var' => 'foobar', ... ) ); 

Um das bei pre_get_posts zu “fangen”:

 add_action( 'pre_get_posts', 'wpse105219_pre_get_posts', 10 ); function wpse105219_pre_get_posts( $query ){ if( $query->get( 'wpse105219_custom_var' ) == 'foobar' ){ //Alter $query } }