web-dev-qa-db-ja.com

get_terms - トップレベルのみ

私はトップレベルの用語だけを取得しようとしています:

$cat_args = array(
    'parent '       => 0,
    'number'        => 10,
    'hide_empty'    => false,           
);

$categories = get_terms( 'question_category' , $cat_args); 

しかし、このクエリはすべての子用語も返します。私はすべてを試しましたが、常に子用語も取得します。

私は過去5時間から試していて、私のコードの中で間違っているものを見つけることができません、これはWPバグですか、それとも私のコードに何か問題がありますか?

助けてくれてありがとう。

12
Aryan

あなたのコードは正しく、ほぼ正しいです。一見したところ、私はそれを見逃していたことを告白しなければならない。

コードに2つの構文エラーがあります。よく見ると、'parent ''parent'は同じではありません。単一引用符(')と引数の間に空白を入れないでください。

また、最後の引数の後に,を追加する必要はありません。

これはうまくいくはずです

$cat_args = array(
    'parent'        => 0,
    'number'        => 10,
    'hide_empty'    => false           
);

編集15-06-2016

WordPress 4.5から、get_terms()の構文が変わりました。 taxonomyパラメータは現在、配列または引数に含まれているので、新しい使い方は次のようになります。

$args = [
    'taxonomy'     => 'my_tax',
    'parent'        => 0,
    'number'        => 10,
    'hide_empty'    => false           
];
$terms = get_terms( $args );
19
Pieter Goosen