Warum kommen Entwürfe als Teil von wp_query zurück?

Ich habe einen Code als Plugin, den ich über AJAX von einer Seite der Site aus anrufe. Es ruft zwei Dropdown-Werte ab und verwendet sie in tax_query, um einige Posts abzurufen. Frage: Warum werden Entwürfe standardmäßig zwischen den Ergebnissen zurückgegeben? Ich muss 'post_status' => 'publish' um dies zu verhindern.

Benutzer ist nicht angemeldet und das Dokument sagt

“Der Standardwert ist ‘publish’, aber wenn der Benutzer angemeldet ist, wird ‘private’ hinzugefügt. Und wenn die Abfrage in einem Admin-Kontext ausgeführt wird, werden auch geschützte Status hinzugefügt. Standardmäßig sind geschützte Status ‘future’, ‘draft’ ‘und’ ausstehend ‘. ”

Heißt das, dass Entwürfe irgendwie ” öffentlich ” sind? Dies sind normale Posts, keine benutzerdefinierten Postsendungen hier. Oder überschreibt Tax_Query das Standardverhalten? Ich bin verwirrt.

Hier ist der Code der Abfrageparameter:

  $args = array( 'posts_per_page' => 5, //'post_status' => 'publish', 'tax_query' => array( 'relation' => 'AND', array( 'taxonomy' => 'height_category', 'field' => 'slug', 'terms' => array( $_POST['height'] ) ), array( 'taxonomy' => 'age_category', 'field' => 'slug', 'terms' => array( $_POST['age'] ) ) ) ); 

Solutions Collecting From Web of "Warum kommen Entwürfe als Teil von wp_query zurück?"

Das Problem wird in dem Zitat erläutert, das Sie erwähnt haben:

“Der Standardwert ist ‘publish’, aber wenn der Benutzer angemeldet ist, wird ‘private’ hinzugefügt. Und wenn die Abfrage in einem Admin-Kontext ausgeführt wird , werden auch geschützte Status hinzugefügt. Standardmäßig sind geschützte Status ‘future’, ‘draft’ ‘und’ ausstehend ‘. ”

Der Ajax-Aufruf wird immer von einem Administratorkontext aus betrachtet.