web-dev-qa-db-fra.com

get_posts ne trouve pas l'argument: post_name

Je creuse des messages avec un slug spécifique:

$postSlug = 'abc'

$args = array(
          'post_name' => $postSlug,
          'post_type' => 'post',
          'post_status' => 'publish'
        );
    $slugPosts = get_posts($args);

Sortie de $ slugPosts [0] -> post_name:

$slugPosts[0]->post_name = 'xyz'

Qu'est-ce que je fais mal ici? Comment puis-je obtenir un message d'une limace?

1
AlxVallejo

Aha, malgré l'existence d'un champ postmeta de post_name -> 'slug', la syntaxe correcte (qui reflète celle de WP_Query) est la suivante:

$args = array(
      'name' => $postSlug,
      'post_type' => 'post',
      'post_status' => 'publish'
    );
$slugPosts = get_posts($args);

Où 'nom' est la clé de la requête (pour les publications, 'postname' pour la page).

Cela n'a pas beaucoup de sens mais pourrait tout aussi bien s'en tenir à une réponse.

3
AlxVallejo