web-dev-qa-db-fra.com

pourquoi les brouillons sont-ils renvoyés dans wp_query?

J'ai du code en tant que plugin, que j'appelle via AJAX à partir d'une page du site. Il obtient deux valeurs déroulantes et les utilise dans tax_query pour récupérer des publications. Question: pourquoi les brouillons renvoient-ils parmi les résultats par défaut? J'ai besoin de commenter 'post_status' => 'publish' pour éviter que cela ne se produise.

L'utilisateur n'est pas connecté, et le doc dit

"La valeur par défaut est" publier ", mais si l'utilisateur est connecté," privé "est ajouté. Et si la requête est exécutée dans un contexte administrateur, les statuts protégés sont également ajoutés. Par défaut, les statuts protégés sont" futur "," brouillon ". 'et' en attente '. "

Est-ce que cela signifie que les brouillons ont considéré " public " d'une manière ou d'une autre? Ce sont des messages réguliers, pas de trucs de type de message personnalisé ici. Ou est-ce tax_query surchargeant le comportement par défaut? Je suis perplexe.

Voici le code des paramètres de requête:

  $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'] )
      )
    )
  );
1
montrealist

Le problème est expliqué dans la citation que vous avez mentionnée:

"La valeur par défaut est" publier ", mais si l'utilisateur est connecté," privé "est ajouté. Et si la requête est exécutée dans un contexte d'administrateur , les statuts protégés sont également ajoutés. Par défaut, les statuts protégés sont "futur", "brouillon" et "en attente". "

L'appel Ajax est toujours considéré comme provenant d'un contexte d'administrateur.

3
david.binda