非常に単純な質問:これが私のget_categories()
コードです。
<?php $args = array(
'show_option_all' => '',
'show_option_none' => '',
'orderby' => 'ID',
'order' => 'ASC',
'show_count' => 0,
'hide_empty' => 0,
'exclude' => '1',
'hierarchical' => 0,
'depth' => 1,
'number' => 12
);
?>
<?php $categories = get_categories( $args ); ?>
<div class="middle-left">
<ul>
<?php for( $i=0; $i<4; $i++ ) {
echo "<li>" . $categories[$i]->{'name'} . "</li>";
} ?>
</ul>
</div>
<div class="middle-middle">
<ul>
<?php for( $i=4; $i<8; $i++ ) {
echo "<li>" . $categories[$i]->{'name'} . "</li>";
} ?>
</ul>
</div>
<div class="middle-right">
<ul>
<?php for( $i=8; $i<12; $i++ ) {
echo "<li>" . $categories[$i]->{'name'} . "</li>";
} ?>
</ul>
</div>
長い検索の後、私はforeachループなしでstdClassオブジェクトに入る方法を手に入れました、そして私はこの方法で進みたいです。しかし、私はトップレベルのカテゴリーだけが欲しいのです。
ここで引数を変更するにはどうすればいいですか。
parent
引数を指定して get_terms
を使用します。その機能のためのコーデックスページから、私の強調点:
parent(integer)この用語の直接の子を取得します(明示的な親がこの値である用語のみ)。 0が渡されると、最上位の用語のみが返されます。 デフォルトは空の文字列です。
テストされていませんが、これでうまくいくはずです。
$categories = get_terms(
'category',
array('parent' => 0)
);
もちろん、他に必要な引数を追加する必要があります。
parent
を0
に設定します
$args = array(
'parent' => 0,
'hide_empty' => 0
);